好了,所以这个问题,肯定被问过,我居然能找到一个答案,我的jQuery的问题,当我试图实现的答案我无法得到它的工作.我宁愿在
java脚本中这样做…..
我正在读取由DB中的逗号分隔的一串文本,我想将它们转换为多选框中的选定选项.
到目前为止,我一直在努力让浏览器选择一个与硬编码字符串匹配的选项,当我点击一个按钮但是我甚至无法让它工作.但我想,既然我要问的问题,我还不如写出来的整个脚本,所以你可以看到这一切,也许发现任何其他问题我可以期望有……最后,我怎么能得到这个运行在页面的负载?对不起,如果这是多余的和基本的,但我对JS很新,并找到问题的现有答案没什么帮助.提前致谢.
编辑
所以,我发现如果我按照Asad的答案使用’select.options [i] .value = true'(布尔代替字符串),我可以让分配工作.但是,我正在使用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"; } } } }
解决方法
您的第一个for循环有两个语法错误.尝试在浏览器中检查控制台
for(count=0,count++) {
应该:
for(count=0; count<array.length; count++) {
注意“,”更改为“;”在count = 0之后,count< array.length parts. 此外,您可能希望使用for(var count = 0和for(var i = 0),以便count和i变量不会全局声明.