【问题标题】:Check multiple checkbox selection using jquery使用jquery检查多个复选框选择
【发布时间】:2016-08-23 23:51:18
【问题描述】:

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

这是我的脚本:

$(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 来实现它。

【问题讨论】:

  • 根据您的演示,您似乎正在使用复选框来模拟单选按钮的行为。您的 if/else if 语句似乎确认您只是在寻找一个选定的元素。您可能想改用单选按钮。
  • @DanA-No,我想让两个元素都被选中,有时也可能是一个。所以基于此我需要得到选中的元素。

标签: jquery checkbox selection


【解决方案1】:

这是我创建的一个示例,它展示了我认为您正在尝试实现的目标:

$('#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 选择器来检索选中的复选框,然后遍历它们的值并将其打印出来。

【讨论】:

  • @SuperPomodoro-是的,这正是我需要的。干杯:)
  • 此外,您可以使用 :not 选择器来检索未选中的复选框。 jQuery 选择器(和新的 CSS3 伪选择器)允许优雅的 DOM 查询。
  • 反问;但是你是如何从这个问题中得到完整的解决方案的,哈哈
  • @SuperPomodoro-Instead of button 单击如何才能选择每个复选框。
  • @coder 你已经在你的问题中得到了答案。 $("input[name='chkTextEffects']").change(function() {//do stuff}); 每次您的复选框更改状态时,都会触发更改事件。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      为什么不这样做:

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

      【讨论】:

        猜你喜欢
        • 2015-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        相关资源
        最近更新 更多