我在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循环中的最后一个选项被选中。
是否无法在多选所选下拉列表中设置多个选项?
答案 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");