我正在尝试在页面加载时选择多个值,但它只选择数组上的最后一个值。看看代码
jQuery("#language").chosen();
var str = '12,24,36';
var languageArray = str.split(',');
for (var i = 0; i < languageArray.length; i++) {
jQuery("#language").val(languageArray[i]);
jQuery("#language").trigger("liszt:updated");
}
我在页面加载时只选择了36个,js有什么问题吗?
以下是选择
的HTML<select name="language[]" id="language" data-placeholder="Choose Language..." multiple="multiple">
感谢您的帮助。
由于
答案 0 :(得分:8)
您可以通过将数组传递给val()
方法,在多值选择框中选择多个选项。
<select name="language" id="language" data-placeholder="Choose Language..." multiple="multiple">
<option value="en">English</option>
<option value="fr">French</option>
<option value="de">German</option>
</select>
var str = 'en,de';
jQuery("#language").val(str.split(','));
这是一个jsFiddle的funsies。
答案 1 :(得分:0)
您可以设置匹配的option元素的selected
属性。希望它会有所帮助。
var values = ['1', '2', '4'];
$('#languages').find('option').filter(function (idx, option) {
if($.inArray(option.value, values) !== -1) {
return option;
}
}).prop('selected', 'true');