Zwe*_*012 91 javascript jquery multiple-select
我有一个多选:
<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>
Run Code Online (Sandbox Code Playgroud)
我从我的数据库加载数据.然后我有一个像这样的字符串:
var values="Test,Prof,Off";
Run Code Online (Sandbox Code Playgroud)
如何在多重选择中设置此值?已经尝试更改数组中的字符串并将其作为值放在多个中,但不起作用......!有人可以帮我弄这个吗?谢谢!!!
Kev*_*sox 120
使用使用属性选择器的动态选择器中的值迭代循环.
var values="Test,Prof,Off";
$.each(values.split(","), function(i,e){
$("#strings option[value='" + e + "']").prop("selected", true);
});
Run Code Online (Sandbox Code Playgroud)
工作示例 http://jsfiddle.net/McddQ/1/
Łuk*_*.pl 99
在jQuery中:
$("#strings").val(["Test", "Prof", "Off"]);
Run Code Online (Sandbox Code Playgroud)
或者在纯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;
}
Run Code Online (Sandbox Code Playgroud)
jQuery在这里做了重要的抽象.
Pos*_*ing 18
只需为jQuery val函数提供一组值:
var values = "Test,Prof,Off";
$('#strings').val(values.split(','));
Run Code Online (Sandbox Code Playgroud)
并以相同的格式获取所选值:
values = $('#strings').val();
Run Code Online (Sandbox Code Playgroud)
querySelectorAll函数捕获每个选项并拆分values字符串.Array#forEach从每一个元素遍历values数组.Array#find找到匹配的给定值的选项.selected属性设置为true.注意:Array#from将类似数组的对象转换为数组,然后您就可以使用Array.prototype它上的函数,如find或map.
var values = "Test,Prof,Off",
options = Array.from(document.querySelectorAll('#strings option'));
values.split(',').forEach(function(v) {
options.find(c => c.value == v).selected = true;
});Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
170020 次 |
| 最近记录: |