Javascript/jQuery:在多重选择中设置值(选择)

2022-08-30 04:53:03

我有一个多项选择:

<select name='strings' id="strings" multiple style="width:100px;">
    <option value="Test">Test</option>
    <option value="Prof">Prof</option>
    <option value="Live">Live</option>
    <option value="Off">Off</option>
    <option value="On">On</option>
</select>

我从数据库中加载数据。然后我有一个这样的字符串:

var values="Test,Prof,Off";

如何在多重选择中设置此值?已尝试更改数组中的字符串并将其作为倍数中的值,但不起作用...!有人可以帮我吗?谢谢!!!


答案 1

使用利用属性选择器的动态选择器中的值循环访问。

var values="Test,Prof,Off";
$.each(values.split(","), function(i,e){
    $("#strings option[value='" + e + "']").prop("selected", true);
});

工作示例 http://jsfiddle.net/McddQ/1/


答案 2

在 jQuery 中:

$("#strings").val(["Test", "Prof", "Off"]);

或纯 JavaScript:

var element = document.getElementById('strings');
var values = ["Test", "Prof", "Off"];
for (var i = 0; i < element.options.length; i++) {
    element.options[i].selected = values.indexOf(element.options[i].value) >= 0;
}

jQuery在这里做了重要的抽象。