【问题标题】:get multiple values from dropdownlist in JavaScript从 JavaScript 的下拉列表中获取多个值
【发布时间】:2012-04-20 07:09:27
【问题描述】:

如何使用 JavaScript 函数获取下拉列表中选择的值?用户可以从这两个元素中选择多个值。以下是我正在使用的元素。提前致谢。

<select name="icOptions" id="icOptions" style="display: none" multiple="multiple">
  <option value="Choose an Option" selected="selected">Choose a Team </option>
  <option value="IDX">IDX</option>
  <option value="Support">SUPPORT</option>
  <option value="webapps">WEBAPPS</option>
</select>

<select name="ocOptions" id="ocOptions" style="display: none" multiple="multiple">
  <option value="Choose an Option" selected="selected">Choose a TeamMember </option>
  <option value="sanjay740">sanjay740</option>
  <option value="milind740">milind740</option>
</select>

【问题讨论】:

    标签: javascript html dom html-select


    【解决方案1】:
    var fld = document.getElementById('icOptions');
    var values = [];
    for (var i = 0; i < fld.options.length; i++) {
      if (fld.options[i].selected) {
        values.push(fld.options[i].value);
      }
    }
    // do something with values
    

    【讨论】:

    • 感谢它几乎没有修改。 alert('你选择' + fld.options[i].value);因为我想要选定的值。再次感谢
    • @GwynHowell +1,这就是我要找的东西
    【解决方案2】:

    使用 jQuery 或 Prototype 满足您的需求的非常棒的库 http://harvesthq.github.com/chosen/ 看看吧。

    它以非常好的方式支持选择和多选

    【讨论】:

      【解决方案3】:

      已接受答案的 ES6/函数式替代方案:

      const values = Array.apply(null, e.target.options)
        .filter(option => option.selected)
        .map(option => option.value);
      

      【讨论】:

      • 虽然这段代码可以回答这个问题,但通常最好解释一下这段代码在这种情况下为什么以及如何提供帮助。见How do I write a good answer
      猜你喜欢
      • 2012-07-27
      • 2021-05-23
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多