2012-02-08 15 views
1

大規模な選択ボックスを検索するためのjQueryプラグインが10〜1000のオプションで必要です。 http://harvesthq.github.com/chosen/は最初は実行可能に見えましたが、その機能や代替プラグインを変更する必要があります。大きな選択ボックスを検索するjQuery

私は10から1000オプションの範囲の選択ボックスのシリーズを持っています。ユーザーが探しているオプションに一致する文字列を入力すると、選択ボックスのフィルタを提供する方法が必要です。私はhttp://harvesthq.github.com/chosen/が素晴らしく、機能的で、現在のhtmlで実装するのが簡単だとわかりました。

私の唯一の問題は、検索が単語の始めにのみ一致し、単語の真ん中では一致しないことです。 ChosenのWebページの最初の例を参照してください。 "Alba"は "Albania"と一致しますが、 "Bania"は "Albania"と一致しません。私の選択リストでは、ほとんどのオプションが最後の数字で区別されるので、 "bania"が "アルバニア"と一致するソリューションが必要です。誰でもこの機能を持つようにChosenを変更した経験がありますか、機能的で機能的で実装が簡単なこの機能を提供する別のjQueryプラグインがありますか?私は検索し、他のプラグインを見つけましたが、彼らは素敵なスタイルを持っていないか、実装するのが難しいようです。

+0

を役に立てば幸いgreというものを作成する選択された複数選択として。 – Stormchao

答えて

1

うわー、これは私が知った最初のものです。それはかなり素晴らしいです!

は基本的に私は、この行(chosen.jquery.jsライン732)が見つかりました:

regex = new RegExp('^' + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); 

をそして、ちょうど次のように '^' を削除:

これを行う
regex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); 

を、私はことを発見しましたデモ、 "バニア"は今アルバニアを見つけるでしょう。もちろん

、これは見ての15分です...あなたは考えたくもいくつか他のもの:

  • これはオプションでなければなりませんか?
  • 多分winnow_resultsが完全他

    }もし始まる上記の変更と、例えば、線に合わせて書き換えなければならない(option.html.indexOf(」「)(多分ユーザーはチェックボックスを与えます) > = 0

    は「今

冗長である、これは私もhttp://jqueryui.com/demos/autocomplete/考えられてきたが、私はそれの例を見つけることができません

+0

このソリューションはうまくいきます。私はそれをテストし、問題が発生するかどうかを調べるために関数を調べますが、これは完璧な答えです。ありがとう。 – Stormchao

関連する問題