使用jquery检查多个复选框选择

时间:2012-04-23 17:28:33

标签: jquery checkbox selection

我正在尝试找到最简单的方法来获取所选的复选框。

这是我的剧本:

$(document).ready(function() {
    $("input[name='chkTextEffects']").change(function() {
        if ($("#cbSolid").is(':checked') == true) {
            alert('Solid');
        } else if ($("#cbOutline").is(':checked') == true) {
           alert('Outline');
        } else if ($("#cbSolid", "#cbOutline").is(':checked') == true) {
            alert('SolidOutline');
        } else if ($("#cbSolid", "#cbOutline").is(':checked') == false) {
            alert('No Effects'); 
        }
    });
});​

HTML:

   <input type="checkbox" name="chkTextEffects" id="cbSolid" value="Solid" />Solid
   <input type="checkbox" name="chkTextEffects" id="cbOutline" value="Outline" />Outline
   <input id="TextEffectsSelection" type="hidden" />

我不确定这一行if ($("#cbSolid", "#cbOutline").is(':checked') == true)或我应该使用bind来实现这一点。

4 个答案:

答案 0 :(得分:8)

以下是我创建的一个示例,演示了我认为您尝试实现的目标:

$('#getCheckboxesButton').live('click', function(event) {
    var checkboxValues = [];
    $('input[type="checkbox"]:checked').each(function(index, elem) {
        checkboxValues.push($(elem).val());
    });
    alert(checkboxValues.join(', '));
});

http://jsfiddle.net/qdvng/

如果有帮助,请告诉我。它基本上使用':checked'jQuery选择器来检索被检查的复选框,然后迭代它们的值并将其打印出来。

答案 1 :(得分:4)

您可以像这样使用:checked选择器来获取具有指定名称的所有选中复选框:

$("input[name='chkTextEffects']:checked")

答案 2 :(得分:1)

答案 3 :(得分:0)

为什么不这样做:

$("#checkboxId").attr("checked") == "checked";