如何使用javascript在multiselect中设置所选选项

前端之家收集整理的这篇文章主要介绍了如何使用javascript在multiselect中设置所选选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好了,所以这个问题,肯定被问过,我居然能找到一个答案,我的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变量不会全局声明.

猜你在找的JavaScript相关文章