如何使用复选框数组的id检查复选框数组中的复选框是否选中?

我正在使用以下代码,但它总是返回选中复选框的计数,而不管id如何。

function isCheckedById(id) {
    alert(id);
    var checked = $("input[@id=" + id + "]:checked").length;
    alert(checked);

    if (checked == 0) {
        return false;
    } else {
        return true;
    }
}

当前回答

我知道OP想要jquery,但在我的情况下,纯JS是答案,所以如果像我这样的人在这里,没有jquery或者不想使用它,那么JS的答案是:

document.getElementById("myCheck").checked

如果ID为myCheck的输入被选中,则返回true;如果未选中,则为false。

就这么简单。

其他回答

jquery可以使用以下任何推荐的代码。

if ( elem.checked ) {};
if ( $( elem ).prop( "checked" ) ) {};
if ( $( elem ).is( ":checked" ) ) {};

在我的示例中,情况是一个对话框,然后在关闭对话框之前验证复选框。以上都没有,如何检查jQuery中是否选中了复选框?如果选中复选框,jQuery似乎也不起作用。

最后

<input class="cb" id="rd" type="checkbox">
<input class="cb" id="fd" type="checkbox">

var fd=$('.cb#fd').is(':checked');
var rd= $('.cb#rd').is(':checked');

这是因为先调用类,然后调用ID,而不仅仅是ID。这可能是由于此页面上的嵌套DOM元素导致的问题。解决方法如上所述。

用于检查和设置复选框的简单演示。

jsfiddle!

$('.attr-value-name').click(function() {
    if($(this).parent().find('input[type="checkbox"]').is(':checked'))
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', false);
    }
    else
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', true);
    }
});

您的问题并不清楚:您希望在输入时给出“checkbox array id”,在输出时得到true/false,这样您就不知道选中了哪个复选框(正如您的函数名所示)。下面是我对isCheckedById主体的建议,它在输入时接受复选框id,在输出时返回true/false(这很简单,但您的id不应该是关键字),

this[id].checked

函数isCheckedById(id){返回此[id].checked;}//测试函数检查(){console.clear()console.log('1',isCheckedById(“myCheckbox1”));console.log('2',isCheckedById(“myCheckbox2”));console.log('3',isCheckedById(“myCheckbox3”));}<label><input id=“myCheckbox1”type=“checkbox”>check 1</label><label><input id=“myCheckbox2”type=“checkbox”>check 2</label><label><input id=“myCheckbox3”type=“checkbox”>check 3</label><!-- 输入周围的标签使文本可单击--><br><button onclick=“check()”>show checked</button>

我知道OP想要jquery,但在我的情况下,纯JS是答案,所以如果像我这样的人在这里,没有jquery或者不想使用它,那么JS的答案是:

document.getElementById("myCheck").checked

如果ID为myCheck的输入被选中,则返回true;如果未选中,则为false。

就这么简单。