好的,这个问题肯定已经被问过了,我实际上能够在jQuery中找到我的问题的答案,但是当我试图实现答案时,我无法使其工作。我宁愿用java-script来完成它.....
我正在从数据库中读取由逗号分隔的文本字符串,并希望将其翻译为多选框中的选定选项。
到目前为止,我一直在尝试让浏览器在单击按钮时选择与硬编码字符串匹配的单个选项,但我甚至不能让它起作用。但是我想既然我在问问题,我可能会把整个脚本写出来,这样你就可以看到所有内容,也许可以发现其他问题......最后,我如何使它在页面加载时运行?如果这是冗余和基础知识,那我很抱歉,但我对JS非常陌生,发现现有的问题的答案没有什么帮助。提前致谢。
编辑
所以,我发现如果我使用“select.options [i] .value = true”(布尔值而不是字符串)可以使赋值工作,根据Asad的答案。但是,我正在使用Harvest的Chosen多选控件:http://harvesthq.github.com/chosen/
当我将所选类分配给控件时,脚本将无法工作。我知道该控件正在调用JQuery,这是原因吗?是否可能使其正常工作?再次感谢。
function selectitems() {
var select = document.getElementById("multiselectid");
var array = stringFromDB.split(",");
for(count=0, count<array.length, count++) {
for(i=0; i<select.options.length; i++) {
if(select.options[i].value == array[count]) {
select.options[i].selected="selected";
}
}
}
}
i
和count
,你只需要使用正确的值类型:select.options[i].selected=true
,因为选中属性(和属性)是布尔值。最初应将它们全部设置为false
。 - RobG