Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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
Can';t取消选择复选框(jQuery)_Jquery - Fatal编程技术网

Can';t取消选择复选框(jQuery)

Can';t取消选择复选框(jQuery),jquery,Jquery,我有两个复选框,如果你选中一个复选框,另一个复选框将被取消选中。但由于某些原因,我无法取消选中已选中的框 jQuery(document).ready(function(){ jQuery("input[type='checkbox']").on('click', function () { jQuery("input[type='checkbox']").removeClass('selected').attr('checked', false); jQuery("inpu

我有两个复选框,如果你选中一个复选框,另一个复选框将被取消选中。但由于某些原因,我无法取消选中已选中的框

jQuery(document).ready(function(){
  jQuery("input[type='checkbox']").on('click', function () {
    jQuery("input[type='checkbox']").removeClass('selected').attr('checked', false);
    jQuery("input[type='checkbox']").parent().removeClass('selected');
    jQuery(this).parent().addClass('selected')
    jQuery(this).attr('checked', true);
  });
知道为什么会这样吗

解决方案(感谢Shree)

$('input.example')。在('change',function()上{
如果($(this).is(':checked'))
{
$('input.example').not(this).prop('checked',false);
$('input.example').parent().removeClass('selected');
$(this.parent().addClass('selected');
}
其他的
{
$('input.example').parent().removeClass('selected');
}
});
。已选定{
背景颜色:红色
}

在jQuery中,如果要使用“checkbox”类型设置“input”中的“Checked”属性,则需要使用:

$('input#id').prop('checked', true);


在jQuery中,如果要在“输入”中使用“复选框”类型设置“Checked”属性,则需要使用:

$('input#id').prop('checked', true);


这很好地解释了jquery中“attr”和“prop”的历史:

1) :使用“道具”选择/取消选择复选框


2) :attr(“checked”,false)不会删除“checked”,而是给它一个值“false”。如果你真的想使用“attr”,你应该使用removeAttr。。。与removeAttr(“选中”)。

这很好地解释了jquery中“attr”和“prop”的历史:

1) :使用“道具”选择/取消选择复选框


2) :attr(“checked”,false)不会删除“checked”,而是给它一个值“false”。如果你真的想使用“attr”,你应该使用removeAttr。。。与removeAttr(“选中”)。

为此,您可以使用带有not选择器的类

$('input.example')。在('change',function()上{
如果($(this).is(':checked'))
{
$('input.example').not(this).prop('checked',false);
$('input.example').parent().removeClass('selected');
$(this.parent().addClass('selected');
}
其他的
{
$('input.example').parent().removeClass('selected');
}
});
。已选定{
背景颜色:红色
}

为此,您可以使用带有not选择器的类

$('input.example')。在('change',function()上{
如果($(this).is(':checked'))
{
$('input.example').not(this).prop('checked',false);
$('input.example').parent().removeClass('selected');
$(this.parent().addClass('selected');
}
其他的
{
$('input.example').parent().removeClass('selected');
}
});
。已选定{
背景颜色:红色
}


为什么要对此使用复选框?使用同名单选按钮,你甚至不需要任何JS代码。你也有HTML吗?或者你可以在这里设置一个例子:接受ans而不是在有问题的部分发布。你为什么要对此使用复选框?使用同名单选按钮,你甚至不需要任何JS代码。你也有HTML吗?或者您可以在这里设置一个示例:接受ans而不是有问题的帖子部分。我已经更改了.attr('checked',false);to.prop('checked',false);和attr(“已检查”,为真);to.prop('checked',true);但这不起作用。。我不想选中/取消选中一个框,如果选中了一个框,那么取消选中另一个框,我想向父标签添加一个类。我已经更改了.attr('checked',false);to.prop('checked',false);和attr(“已检查”,为真);to.prop('checked',true);但这不起作用。。我不想勾选/取消勾选一个框,如果勾选了一个框,那么取消勾选另一个框,我想向父标签添加一个类。是的,这几乎对我有效。如果取消选中该复选框,则不会删除该类。如果单击另一个框,它将被删除。是的,这几乎对我有效。如果取消选中该复选框,则不会删除该类。如果单击另一个框,它将被删除。