12

<select>select2 jQueryプラグインをmultiple="multiple"に使用しています。 の値を選択したリストに追加する必要があります(つまり、すべてのオプションではなく、新しいオプションを追加せずに選択したオプションに)。jQueryのselect2で複数選択に値を追加

私はthisで選択したオプションを設定することができます知っている:

$("#the_select").select2("val", "the_option_value"); 

あるいは、複数選択のために:

$("#the_select").select2("val", ["an_option_value","another_option_value"]); 

はしかし、私は選択したオプションを追加することができます方法はあり他のものを削除することなくリスト(すなわち、選択されたオプションを作る)?

答えて

34

あなたはこれを使用することができるはずです。

$("#the_select").append($('<option>', {value:"NEWVAL", text: "New Option Text"})); 

それはリストの最後に新しいオプションアイテムを追加します。

HTH

編集

は2 :)を取る - 私はオーバーSELECT2ページにクロームのdevのツールでこれを試してみました。それは(私が "WA" を追加作品とWashingtonが登場

var selectedItems = $("#the_select").select2("val"); 
selectedItems.push("NEWITEMVAL"); // I used "WA" here to test. 
$("#the_select").select2("val", selectedItems); 

または1つのライナーとして:。

$("#the_select").select2("val", $("#the_select").select2("val").concat("NEWITEMVAL")); 
+0

誤解をおかけして申し訳ありませんが、オプションを追加したくない場合は、オプションを選択したいと思います。 e select2プラグイン。 – Keelan

+7

なぜ賛成投票ですか?あなたは「選択したリストに値を追加する必要があります」と述べました。 :-)プラグインを再初期化せずに動作します。それを試してみてください。 –

+0

_Selected_、_select_ではありません。また、コードを見ていれば、選択肢のオプションではなく、値(つまり選択されたオンセット)を変更していることがわかります。それはうまくいくかもしれませんが、私が尋ねたことをしないので、私の質問に対する答えではありません。私はそれをもっと明確にするためにそれを言い直します。 – Keelan

0

これは私がそれを行う方法です。

 $("#the-select") 
     .val($("#the-select") 
      .val() 
      .concat([array_of_existing_values])); 
     $("#the-select") 
     .trigger("change"); 

HTH

関連する問題