【问题标题】:.val() alternative that gets the current value of all elements in the set of matched elements.val() 替代方法,获取匹配元素集中所有元素的当前值
【发布时间】:2014-09-30 05:46:38
【问题描述】:

我有 3 个选择元素,我使用 $(".select-elem select").val() 来获取数组中每个选择元素的值,但它只返回匹配元素集中第一个元素的值。例如,如果用户为第一个选择元素选择“2”,为第二个选择元素选择“3”,为第三个选择“4”,则 val() 函数返回 2 而不是 [2,3,4]。是否有一个函数可以返回一个包含所有三个选择元素的值的数组?

<td class="select-elem">
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</td>
<td class="select-elem">
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</td>
<td class="select-elem">
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</td>

【问题讨论】:

    标签: javascript jquery events event-delegation


    【解决方案1】:

    为此使用地图方法:

    var values = $(".select-elem select").map(function() {
        return $(this).val();
    }).get();
    

    【讨论】:

    • 这是比接受的答案更好的答案。当有诸如 map 之类的方法为您执行此操作时,无需扩展 jQuery
    【解决方案2】:

    创建自己的jquery方法,在需要的地方使用,找到如下代码

    //create jquery method arrVal which returns array of values
    $.fn.arrVal = function () {
      var valArr = [];
      $(this).each(function(){
        valArr.push($(this).val())
      })
      return valArr;
    }
    
    //call arrVal method
    $('select').arrVal()
    

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 2019-10-07
      • 2013-09-10
      • 2017-10-12
      • 2012-08-04
      • 2012-12-01
      相关资源
      最近更新 更多