对于一个项目,我需要在一个组中使用两个单选按钮,并且需要在单击时取消选中选中的单选按钮。
我已经尝试过类似的方法,但这不起作用:
$(document).ready(function() {
$("input[type='radio']:checked").click(function(e) {
e.preventDefault();
$(this).prop("checked", false);
alert('Hello World!');
});
});
当我单击选中的单选按钮时,它甚至不会发出警报。
每当我在控制台中调用它时:
$("input[type='radio']:checked").prop('checked', false);
它确实取消选中选中的单选按钮,因此该部分应该可以工作。
最佳答案
实际上,当您使用click
时,不会发生这种情况,请改用mousedown
附上工作片段
$(function(){
$('#wrapper').on('mousedown', 'input[type=radio]',function(e){
if(!$(e.target).is(':checked')){
return true;
}
e.preventDefault();
$(this).prop("checked", false);
alert('Hello World!');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper">
<input type=radio name=hello />
<input type=radio name=hello />
<input type=radio name=hello checked/>
</div>
关于javascript - 使用 jQuery 破解单选按钮行为(取消选中组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074384/