选择页面加载时具有多个选定值的选择框

时间:2013-10-22 13:59:55

标签: javascript jquery select jquery-chosen

我正在尝试在页面加载时选择多个值,但它只选择数组上的最后一个值。看看代码

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">

感谢您的帮助。

由于

2 个答案:

答案 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>

的JavaScript

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');