web-dev-qa-db-ja.com

jQueryのselect2を使用した複数選択への値の追加

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

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

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

または、複数選択の場合:

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

しかし、他に削除せずに選択したオプションをリストに追加する(つまり、オプションを選択する)方法はありますか?

12
user1544337

あなたはこれを使うことができるはずです:

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

リストの最後に新しいオプション項目を追加します。

HTH

編集

テイク2 :)-私はこれをselect2ページのchrome dev toolsで試してみました。動作します( "WA"を追加するとWashingtonが表示されました。

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

またはワンライナーとして:

$("#the_select").select2("val", $("#the_select").select2("val").concat("NEWITEMVAL"));
35
Sean Kenny

これは私がそれをする方法です:

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

HTH

0
Shai Efrati