【发布时间】:2013-08-04 01:12:35
【问题描述】:
我有这个标记:
<div class='A'>
<input type='radio' name='B' class='B' />
</div>
<div class='A'>
<input type='radio' name='B' class='B' />
</div>
<div class='A'>
<input type='radio' name='B' class='B' />
</div>
所需的功能是通过单击父 div 或单选输入本身来选择单选,如果已选中单选,则单击父将无效,即返回 false。
我已经改变了点击父级,但是当我点击单选按钮时,没有任何反应。 我的方法有什么问题?
jQuery :
$('input:radio').closest('div').on('click', function (e) {
if ($('input:radio', this).prop('checked') === true) {
console.log("returning false");
return false;
}
$('input:radio', this).prop('checked', true);
console.log("Clicked : " + $(this).attr('class'));
});
【问题讨论】:
-
只需删除
return false;jsfiddle.net/Palestinian/pSSc9/6 你需要了解return false的意思是e.preventDefault()和e.stopPropagation(),所以你要停止两者。为什么?
标签: javascript jquery html input radio