以多种形式获取所有选中复选框的值

时间:2014-05-04 11:08:55

标签: javascript jquery

我有一系列复选框列表,我想在点击全局按钮时提醒所有选中复选框的值。此外,如果有更多"正确"这样做的方式,而不是使用输入,或者使用表格或一系列表格,让我知道。

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
}

3 个答案:

答案 0 :(得分:1)

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());
    });
}

这个功能可以解决问题。

答案 1 :(得分:1)

虽然您已经接受了答案,但我有一些时间并认为我会提供这种解释:

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

参考文献:

答案 2 :(得分:0)

这应该这样做

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);
}