如何在多个Select2标记框中显示特定选项
<select id="dropList" multiple="multiple">
<option value="Carbon">Carbon</option>
<option value="Stainless">Stainless</option>
<option value="Alloy">Alloy</option>
</select>
我在多选模式下使用Select2。我想用jquery在标签框中显示一个或两个或全部三个选项。在搜索关于这个主题的所有帖子整整一个早上之后,我所取得的最好成绩是使用以下方法一次显示一个选项!如何在多个Select2标记框中显示特定选项
$('#dropList').val("Stainless").trigger('change.select2');
但是,如果用户已经选择了说,“碳”,我希望能够在标签框中显示说,“不锈钢”旁边的“碳”。我不想'碳被替换。任何帮助非常感谢。
仍然可以使用的VAL()使用阵列(它为SELECT2倍数)
$('#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');
这工作@Igor,真是令人印象深刻。有没有什么方法的代码可以比这更短? – Silverburch
请参阅http://jsfiddle.net/a7c20eon/2/。如果您在已存在的选择中推送一个值,它只会设置唯一值(它不需要检查是否存在) –
辉煌,非常感谢您的帮助。 – Silverburch
您的chage.select2函数的外观如何? –
对不起,也许我不清楚。整个Select2下拉菜单完美无缺。我问的问题是如何使用jquery覆盖用户的选择,所以我可以在标记框中显示一个或多个未选定的选项。 – Silverburch
让我帮你解决问题,你想有多个选项“预选”? –