如何在选择的选择中动态选择多个选项

时间:2014-10-28 13:39:47

标签: jquery jquery-chosen

我在html页面上使用jquery选择select,用户可以选择多个选项并保存记录。我需要向用户提供更新页面,并尝试使用存储的选项预先选择多选所选下拉菜单。对于选择的单个选择,可以通过触发更新来完成,如下所示:

 $('#ns_StatusClass').val(2);
 $('#ns_StatusClass').trigger("chosen:updated");

但我无法弄清楚如何选择多项选择来完成它。我选择了以下值后尝试触发更新:

for(var i=0; i< $PAGE.allStatus.length; i++){
    $('#ns_StatusClass').val($PAGE.allStatus[i].id);
    //$('#ns_StatusClass').trigger("chosen:updated");
}
$('#ns_StatusClass').trigger("chosen:updated");

但这只会导致for循环中的最后一个选项被选中。

是否无法在多选所选下拉列表中设置多个选项?

2 个答案:

答案 0 :(得分:8)

要选择多个选项,请使用以下代码:

for(var i=0; i< $PAGE.allStatus.length; i++){
    $('#ns_StatusClass option[value='+$PAGE.allStatus[i].id+']').attr("selected", "selected");
}
如果值有一个或多个空格,请使用双引号:

for(var i=0; i< $PAGE.allStatus.length; i++){
    $('#ns_StatusClass option[value="'+$PAGE.allStatus[i].id+'"]').attr("selected", "selected");
}

答案 1 :(得分:0)

对于速记,您可以这样使用

$('#ns_StatusClass').val([2,4]); // indexes of select values
$('#ns_StatusClass').trigger("chosen:updated");