获取多个窗体中所有选定复选框的值

Get values of all selected checkboxes in multiple forms

本文关键字:复选框 窗体 获取      更新时间:2023-09-26

我有一系列复选框列表,我想在单击全局按钮时提醒所有选中的复选框的值。此外,如果有更"适当"的方式来做到这一点,而不是使用输入,或者可能使用一个表单或一系列表单,请告诉我。

HTML:

<input type="checkbox" class="A" value="0">0</input>
<input type="checkbox" class="A" value="1">1</input>
<input type="checkbox" class="B" value="0">0</input>
<button onclick='return selectedvalues();'>GO!</button>
javascript:

function selected values(){
    //alert all selected values of checkboxes of classes A and B
}
function selectedValues(){
    //alert all selected values of checkboxes of classes A and B
    var $checkboxes = $("input[type='checkbox']:checked");
    $checkboxes.each(function(){
        alert($(this).attr("class") + " " + $(this).val());
    });
}

虽然你已经接受了答案,但我有一些时间,认为我应该提供以下解释:

function findChecked() {
    var group = document.getElementsByName(this.name),
        checked = [].map.call(group, function(a){
            a.nextElementSibling.style.color = a.checked ? 'limegreen' : '#000';
            if (a.checked) {
                return a;
            }
        }).filter(function(a){
            return 'undefined' !== typeof a;
        });
    return checked;
}
[].forEach.call(document.querySelectorAll('input[type="checkbox"]'), function(a){
    a.addEventListener('change', findChecked);
});

JS Fiddle demo.

引用:

  • Array.prototype.filter() .
  • Array.prototype.forEach() .
  • Array.prototype.map() .
  • Function.prototype.call() .

应该可以了

function selected_values() {
 var messages = "";
 $("form input[type='checkbox']:checked").each(function(){ 
 // Go through all checkboxes that are checked
  messages += $(this).val()  + "'n";
 });
 alert(messages);
}