Javascript 如何使用标签取消选中jquery中的单选按钮

Javascript 如何使用标签取消选中jquery中的单选按钮,javascript,jquery,html,radio-button,Javascript,Jquery,Html,Radio Button,我用单选按钮的标签包装了3个按钮,所以基本上控制单选按钮是由这3个按钮管理的 <input type="radio" name="block_image_checkbox" id="block_image_checkbox_1" value="a"> <label for="block_image_checkbox_1"> <div id="block_image_1" class="block_image block_image_hover">

我用单选按钮的标签包装了3个按钮,所以基本上控制单选按钮是由这3个按钮管理的

<input type="radio" name="block_image_checkbox" id="block_image_checkbox_1" value="a">
  <label for="block_image_checkbox_1">
  <div id="block_image_1" class="block_image block_image_hover">
    <div class="block_image_overlay">
            <img src="img/1-1.png" alt="" id="image"/>
    </div>
  </div>
  </label>
  <input type="radio" name="block_image_checkbox" id="block_image_checkbox_2" value="b">
  <label for="block_image_checkbox_2">
    <div id="block_image_2" class="block_image block_image_hover">
      <div class="block_image_overlay">
            <img src="img/2-1.png" alt="" id="image"/>
      </div>
    </div>
  </label>

如果选中单选按钮时单击其标签,我想取消选中该按钮。但它不起作用。我想,因为当我尝试取消选中它时,它可能会再次被选中。但是,如果不使用另一个按钮,这种情况有什么解决方案吗?

要使用jquery取消选中单选按钮,请使用以下命令:

$(this).prop('checked', false);
$(this).attr('checked', false);
注意:如果您使用的是jQuery<1.6,请使用以下命令:

$(this).prop('checked', false);
$(this).attr('checked', false);

编辑:请参见中softvar的示例


您还可以看到这个问题

要使用jquery取消选中单选按钮,请使用以下命令:

$(this).prop('checked', false);
$(this).attr('checked', false);
注意:如果您使用的是jQuery<1.6,请使用以下命令:

$(this).prop('checked', false);
$(this).attr('checked', false);

编辑:请参见中softvar的示例


你也可以看到这个问题

检查这把小提琴,它可能对你有用


$(“#块#图像_1”)。单击(函数(){
if($('block#u image_1').hasClass('block#u image_hover')){
$(“#块#图像_复选框_1”).prop('checked',true)
$('block#u image_1')。removeClass('block#u image_hover')。addClass('block#u image_active');
}否则{
$('block#u image_1')。removeClass('block#u image_active')。addClass('block#u image_hover');
$(“#块#图像_复选框_1”).prop('checked',false)
}
});
$(“#块#图像_2”)。单击(函数(){
if($('block#u image_2').hasClass('block#u image_hover')){
$('#块(图像)复选框(2').prop('checked',true)
$('block#u image_2')。removeClass('block#u image_hover')。addClass('block#u image_active');
}否则{
$('#块(图像)复选框(2').prop('checked',false)
$('block#u image_2')。removeClass('block#u image_active')。addClass('block#u image_hover');
}

检查这把小提琴,它可能适合你


$(“#块#图像_1”)。单击(函数(){
if($('block#u image_1').hasClass('block#u image_hover')){
$(“#块#图像_复选框_1”).prop('checked',true)
$('block#u image_1')。removeClass('block#u image_hover')。addClass('block#u image_active');
}否则{
$('block#u image_1')。removeClass('block#u image_active')。addClass('block#u image_hover');
$(“#块#图像_复选框_1”).prop('checked',false)
}
});
$(“#块#图像_2”)。单击(函数(){
if($('block#u image_2').hasClass('block#u image_hover')){
$('#块(图像)复选框(2').prop('checked',true)
$('block#u image_2')。removeClass('block#u image_hover')。addClass('block#u image_active');
}否则{
$('#块(图像)复选框(2').prop('checked',false)
$('block#u image_2')。removeClass('block#u image_active')。addClass('block#u image_hover');
}

您可以为此使用复选框,如果您只想选中一个复选框。 你可以这样写
$(“输入[name='block\u image\u checkbox'])。更改(函数(){
var curCheckBox=this;
$(“输入[name='block\u image\u checkbox'])。每个(函数(){
如果(此===curCheckBox)
$(this.attr(“选中”,true);
其他的
$(this).attr(“选中”,false);
});
});

复选框1
复选框2

复选框3
您可以为此使用复选框,如果您只想选中一个复选框。 你可以这样写
$(“输入[name='block\u image\u checkbox'])。更改(函数(){
var curCheckBox=this;
$(“输入[name='block\u image\u checkbox'])。每个(函数(){
如果(此===curCheckBox)
$(this.attr(“选中”,true);
其他的
$(this).attr(“选中”,false);
});
});

复选框1
复选框2

checkbox3
我刚刚找到了一种解决方法,但这里还没有提供这种方法。 您可以使用div而不是标签,并将JS附加到其上以模拟标签,如下所示:

HTML:


这里有一把小提琴:

我刚刚找到了一种方法来解决这个问题,但这里还没有提供这种方法。 您可以使用div而不是标签,并将JS附加到其上以模拟标签,如下所示:

HTML:


这里有一把小提琴:

没有
jquery
那里发生了什么事?点击图片检查了
单选按钮?您使用的是标签中的for,它将始终检查单选按钮,所以我从中删除了。我的答案可能在删除答案后会帮助您检查,但如果我从标签中删除了for,我将无法切换单击不同标签的单选按钮?没有
jquery
那里发生了什么?单击图像检查了
单选按钮?您使用的是in-label,它将始终检查单选按钮,因此我从中删除了我的答案可能是在删除答案后,请检查,但如果我从标签中删除了,我将不会被删除e通过单击不同的标签来切换单选按钮?我已经更新了我的答案,看看这个提琴是否对你有帮助,并查看我分享的问题的答案。如果你单击单选按钮本身,它会工作,是的。但是在我的情况下,我需要通过标签取消选中它,它不工作。我已经更新了我的答案,看看这个提琴是否对你和revi有帮助请查看我分享的问题的答案。如果您单击单选按钮本身,它会工作,是的。但是在我的情况下,我需要通过标签取消选中它,它不会工作。我正在尝试使用您的方法,但由于某些原因,当我取消选中复选框本身时,它会通过您的Functinoni使用您的jquery版本进行检查,现在可以工作了。谢谢“我正在尝试使用您的方法,但由于某些原因,当我取消选中复选框时,它会通过您的Functinoni使用您的jquery版本进行检查,现在可以使用了。谢谢。”