簡體   English   中英

.val()替代方案,它獲取匹配元素集中所有元素的當前值

[英].val() alternative that gets the current value of all elements in the set of matched elements

我有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>

為此使用地圖方法:

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

創建自己的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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM