Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于复选框集合的jQuery选择器_Jquery - Fatal编程技术网

用于复选框集合的jQuery选择器

用于复选框集合的jQuery选择器,jquery,Jquery,这是我最后一个问题的后续问题。我所拥有的是: <div class="abc"> <input id="Response[0]" name="Response[0]" type="checkbox" /> <input id="Response[1]" name="Response[1]" type="checkbox" /> <input id="Response[2]" name="Response[2]" type="

这是我最后一个问题的后续问题。我所拥有的是:

<div class="abc">
    <input  id="Response[0]" name="Response[0]" type="checkbox" />
    <input  id="Response[1]" name="Response[1]" type="checkbox" />
    <input  id="Response[2]" name="Response[2]" type="checkbox" />
    <input  id="Response[3]" name="Response[3]" type="checkbox" />
</div>
  $('.abc input').change(function() {
if ($('.abc input:checked').length) {
    $('#doCheckMark').prop('disabled', false);
} else {
    $('#doCheckMark').prop('disabled', true);
}
但第二行似乎有问题。我想这是我的错,因为我更改了代码,添加了一个
div
和一个
class

发生的情况是,当我调试时,函数被调用,但是我不能添加一个表来检查
的值。abc输入:checked
。我想我做错了什么,因为变量名看起来不合适

有人能帮忙吗。变量是否正确

谢谢

试试:

$('.abc input').change(function() {
if ($(this).is(':checked')) {
    $('#doCheckMark').prop('disabled', false);
} else {
    $('#doCheckMark').prop('disabled', true);
}
});
这将在切换复选框值时切换禁用状态。当然,这会造成混乱,因为在这个范围内有很多复选框。如果所有复选框都已激活,是否要切换禁用语句?如果是,请尝试:

$('.abc input').change(function() {
if ($('.abc input:checked').length == 4) {
    $('#doCheckMark').prop('disabled', false);
} else {
    $('#doCheckMark').prop('disabled', true);
}
});
这就是您需要的:

$('.abc input:checkbox').change(function(){
    if($('.abc input:checkbox:checked:first').length){
        $('#doCheckMark').removeAttr('disabled');
    } else{
        $('#doCheckMark').attr('disabled', 'disabled');
    }
}).trigger('change');
你可以


它会将
change
事件附加到一组复选框中,并在加载页面时触发
change
,因此默认情况下该按钮将被禁用。一旦用户选中/取消选中复选框,它将触发
change
事件,在这种情况下,它将检查是否选中了任何复选框。如果选中任何复选框,它将使按钮保持启用状态,否则将禁用按钮。在Ubuntu 11.04的Chromium 11.x上,您需要在此处使用属性
attr
,而不是属性
prop

。记住你还没有关闭
$(文档).ready(函数(){
)在你发布的jQuery中。请简单地解释一下你想做什么,应该做什么?事实上,我在$(文档)中没有它.ready…应该发生的是,一旦用户单击其中一个框,则按钮的属性将被启用。啊,很抱歉,在这种情况下,您没有关闭
$('.abc input')。更改(函数(){
…抱歉。=/I希望在单击一个或多个复选框时启用切换。请注意,这是一个布尔属性,因此您可以只执行
$('.abc input').change(function(){$('#doCheckMark').prop('disabled',$('.abc input:checked').length>0);});
并且仍然非常清楚代码的作用:)@Nick,这是在用你的面条,很好1!@Dave试试我的第一个片段或Nick在上面发布的内容。这两个片段都应该对你有用。我尝试了以下操作,但似乎不起作用:如果($('.abc输入:选中')。长度>0){@Nick您的代码正常工作。只要我单击一个或多个复选框,该按钮就会启用。但是,当我取消所有复选框的链接时,该按钮将保持启用状态。我希望在单击一个或多个复选框时启用该按钮。