如何在多个 Select2 标签框中显示特定选项
How to display specific options in multiple Select2 tagbox
<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');
但是如果用户已经选择了说 'Carbon',我希望能够在标签框中的 'Carbon' 旁边显示说 'stainless'。我不希望“碳”被取代。非常感谢任何帮助。
您仍然可以通过数组使用 val()(它适用于 select2 multiple)
$('#dropList').val(["Stainless","Carbon"]).trigger('change.select2');
参见 http://jsfiddle.net/a7c20eon/ 中的示例(设置初始值,然后将附加值添加到选择中)
//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');
<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');
但是如果用户已经选择了说 'Carbon',我希望能够在标签框中的 'Carbon' 旁边显示说 'stainless'。我不希望“碳”被取代。非常感谢任何帮助。
您仍然可以通过数组使用 val()(它适用于 select2 multiple)
$('#dropList').val(["Stainless","Carbon"]).trigger('change.select2');
参见 http://jsfiddle.net/a7c20eon/ 中的示例(设置初始值,然后将附加值添加到选择中)
//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');