【问题标题】:Get ALL the options of a multi select in jQuery, including those which are not selected获取jQuery中多选的所有选项,包括未选中的选项
【发布时间】:2012-12-12 13:33:09
【问题描述】:

我见过很多代码 sn-ps 来检索 jQuery 中多选的选定选项,但我见过的代码都没有检索多选的所有选项,包括那些未选中的选项,成功了!

我想做的是将所有选项放在一个字符串中,用逗号分隔。 我有所选元素的代码:

var selectedOptions2 = $('#relationslist option:selected');
            var selectedValues2 = $.map(selectedOptions2 ,function(option) 
            {
                return option.value;
            }).join(',');

如何调整它以放入 selectedValues 所有选项,包括未选中的选项?

提前致谢。

【问题讨论】:

    标签: jquery multi-select


    【解决方案1】:

    您应该能够使用选择器$('#relationslist option'); 而不是$('#relationslist option:selected'); 来获得所有选项

    var selectedOptions2 = $('#relationslist option');
    ...
    

    【讨论】:

      【解决方案2】:

      这行代码执行一个选择器,返回所有选择的选项。

      var selectedOptions2 = $('#relationslist option:selected');
      

      关键部分是:selected 伪选择器,因为它告诉jQuery 只带回当前选中的那些。如果您想要所有选项,只需去掉该部分即可。

      【讨论】:

      • 这很奇怪,这是我测试的第一件事,它返回 null,尽管在这个 sn-p 之前多选是用 jQuery 填充的。这正常吗?
      • @user1881815 我需要查看更多代码;纯粹基于您发布的内容,只需删除选择器的 :selected 部分即可。
      • 抱歉,它确实有效。我只是在选择的名称中犯了一个错误。 :)
      【解决方案3】:

      你真的很接近 - 只需从选择器中删除 :selected -

      http://jsfiddle.net/EekQZ/1/

      var selectedOptions2 = $('#relationslist option');             
      var selectedValues2 = $.map(selectedOptions2 ,function(option) {
          return option.value;
      }).join(',');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-24
        • 2013-09-30
        • 2019-06-03
        • 2021-12-09
        • 1970-01-01
        • 2017-09-02
        相关资源
        最近更新 更多