【问题标题】:Get all selected options elements from all select elements in a form从表单中的所有选择元素中获取所有选择的选项元素
【发布时间】:2012-09-09 14:07:32
【问题描述】:

大家好,感谢您抽出宝贵时间回答我的问题。

我有一个包含 6 个选择元素的表单,其类别为“skillLevel”。我需要使用 jQuery 获取(最好在数组中)每个选择元素的值。

我该怎么做?

【问题讨论】:

    标签: jquery select jquery-selectors


    【解决方案1】:

    你可以使用map方法:

    var arr = $('select.skillLevel').map(function(){
                  return this.value
              }).get()
    

    arr 是一个值数组。

    【讨论】:

      【解决方案2】:

      这样的事情会为你做到这一点。

      var val = new Array();
      
      $("select.skillLevel").each(function(){
          val.push(this.value);
      });
      

      【讨论】:

        【解决方案3】:

        我认为你必须使用$(".skillLevel") 来选择你想要的值的所有元素,然后遍历它们,并使用.val() 来提取每个元素的值,并根据需要进行处理。

        希望这会有所帮助!

        【讨论】:

          【解决方案4】:
              var array = [];
              $('.skillLevel  option:selected').each(function() {
                  array[ $(this).val()] = $(this).text();
              });
          

          【讨论】:

          • 有没有办法让文本按 select(multiple) 所示排序。例如我选择了 a,b,c 我得到了显示的 c,a,b..
          【解决方案5】:

          把它当作

          $(".skillLevel option:selected").each(function () {
                      alert($(this).text());
          });
          

          看看这个小提琴

          http://jsfiddle.net/zF6HY/1/

          来自:JqueryApi

          【讨论】:

            【解决方案6】:

            希望这个小提琴对你有帮助: All selected options

            【讨论】:

              【解决方案7】:

              您还可以将map 方法与这样的ES6 箭头函数一起使用。

              var arr = $('select.skillLevel').get().map(e => e.value)
              

              在接受的答案中,arr 是一个值数组。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2016-10-12
                • 2011-08-06
                • 1970-01-01
                • 1970-01-01
                • 2015-04-09
                • 1970-01-01
                • 2011-01-23
                相关资源
                最近更新 更多