簡體   English   中英

使用jQuery獲取復選框列表的檢查值

[英]Get checked values of checkbox list using jquery

我有幾個名為etapes的復選框。 我想獲取所有檢查過的etapes的值,並將其存儲在單個字符串中。

所以嘗試了這個:

$('[name="etapes"]:checked').each(function() {
    indexer = indexer + 1;
    if (indexer == 1) selectedEtapes = $(this).val();
    else selectedEtapes = selectedEtapes + "," + $(this).val();
});

但這沒用。 那我該如何解決這個問題呢?

最簡單的解決方案是使用jQuery.map

 var mapped = $('[name="etapes"]:checked').map(function() { return this.value; }).get(); console.log(mapped.join(',')); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <input type="checkbox" name="etapes" value="Ouverte1" checked> <input type="checkbox" name="etapes" value="Ouverte2"> <input type="checkbox" name="etapes" value="Ouverte3" checked> 

修復您的代碼:

您從未接受過index參數,

var selectedEtapes = '';
$('[name="etapes"]:checked').each(function(index) {
  if (!index) selectedEtapes += $(this).val();
  else selectedEtapes += "," + $(this).val();
});

您可以使用map()方法執行此操作,如下所示。

 var str = $('[name="etapes"]:checked').map(function() { return $(this).val(); }).get().join(); console.log(str) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" name="etapes" value="Ouverte1" checked="checked"> <input type="checkbox" name="etapes" value="Ouverte2"> <input type="checkbox" name="etapes" value="Ouverte3" checked="checked"> <input type="checkbox" name="etapes" value="Ouverte4" checked="checked"> 

暫無
暫無

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

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