如何在多个Select2标签框中显示特定选项

时间:2017-03-08 12:28:21

标签: jquery select2

<select id="dropList" multiple="multiple">
  <option value="Carbon">Carbon</option>
  <option value="Stainless">Stainless</option>
  <option value="Alloy">Alloy</option>
</select>

我在多种选择模式下使用Select2。我想使用jquery来显示标签框中的一个,两个或全部3个选项。经过一整个上午搜索关于这个主题的所有帖子后,我所取得的最好成绩是使用以下内容一次显示一个选项!

$('#dropList').val("Stainless").trigger('change.select2');

但如果用户已经选择了说“碳”,我希望能够显示“说”,“不锈钢”等。旁边的碳排放&#39;在标签框中。我不希望碳被替换。任何帮助非常感谢。

1 个答案:

答案 0 :(得分:1)

你仍然可以使用数组的val()(它适用于select2 multiple)

$('#dropList').val(["Stainless","Carbon"]).trigger('change.select2');

查看here中的示例(它设置初始值,然后为选择添加一个额外的值)

//Initializing a value  (previous selection)
$("#dropList").select2();
$('#dropList').val("Carbon").trigger('change.select2');

//Get current value (is an array ['Carbon'])
var selection=($('#dropList').val());

//Add Stainless to selection (if not exists)
if (selection.indexOf("Stainless")==-1){
   selection.push("Stainless");
}

//set the array values
$('#dropList').val(selection).trigger('change.select2');