3

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

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

我感谢您的帮助。

谢谢

4

2 回答 2

9

您可以通过将数组传递给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

于 2013-10-22T14:15:46.153 回答
1

您可以设置selected匹配选项元素的属性。希望它会有所帮助。

var values = ['1', '2', '4'];
$('#languages').find('option').filter(function (idx, option) {
    if($.inArray(option.value, values) !== -1) {
        return option;
    }
}).prop('selected', 'true');
于 2013-10-22T14:11:50.507 回答