2012-01-24 4 views
1

私は選択リストを作成するためにChosen http://harvesthq.github.com/chosen/を使用しています。ユーザーがリストから項目を選択しjQuery既存の選択を保持する動的更新を選択しました

、それはその後、そのオプションに関連するすべてのオプションを見つける、(JSONコール)消灯リストからそれらを削除してから使用して選択ボックスを再投入します:

$("#contacttribename").trigger("liszt:updated"); 

これは、ユーザーが既に選択した内容を失います。ユーザの選択を維持しながらリストを動的に更新する方法はありますか?

歓声

+0

ユーザーが既にオプションの一部を選択した後に、そのオプションのリストを編集したいとします。ドキュメントを正しく読んだら、現時点ではサポートされていません。 –

+0

私は何をしたいのかね。私はそれがサポートされていない場合、古風な方法に戻らなければならないでしょう。 – Jarede

+0

あなたはプロジェクトをフォークしてパッチを作ることができますが、選択したオプションを削除する代わりに、そのオプションを保持する必要があります。 –

答えて

4

を追加しないことを決定しました。 chosen.jquery.jsファイルへ

移動し、その関数内でChosen.prototype.results_build

ための関数宣言を見つけるif文彼らのようになります。内側の2つのうち

if (this.is_multiple && this.choices > 0) { 
    this.search_choices.find("li.search-choice").remove(); 
    this.choices = 0; 
    } 

コメントそのような行:

if (this.is_multiple && this.choices > 0) { 
    //this.search_choices.find("li.search-choice").remove(); 
    //this.choices = 0; 
    } 

これは
を呼び出すときにクリアされることから、既存の選択の選択肢を防ぐことができます.trigger( "liszt:updated")

+0

しかし1つの警告。これを実行した後、複数のセットがtrueに設定された選択された選択は、trigger( "listz:updated")を呼び出した後でクリアされません –

関連する問題