【发布时间】:2013-04-26 07:50:26
【问题描述】:
如何检测单选按钮何时被选中?
HTML:
<label><input type="radio" name="test">One</label>
<label><input type="radio" name="test">Two</label>
每当用户从我的单选按钮中选择一个选项时,我都想执行某个功能
我尝试了类似的方法:
$("input:radio").on("change", function(){
if($(this).is(':checked')) {
$(this).attr('checked', false)
// do some more...
}
});
演示: http://jsfiddle.net/A5EzU/
正如小提琴上显示的“清除”调试语句,一旦点击它看起来就像它一直被点击一样。
【问题讨论】:
-
检测是否检查了收音机,抱歉扩展不好:(@OneTrickPony
-
您需要复选框。期间。
-
不,单选按钮总是只选择一个选项(除非最初没有提供默认值,但应该避免这种情况)。另一侧的复选框支持 0..n 个选定元素。如果您希望 0 或 1 继续使用复选框,但添加一些 JS 以取消选择先前选择的项目或使用单选按钮并添加“无”单选按钮。
-
另外,请注意
.prop()比.attr()更可取。查看.prop() jQuery 文档以了解原因。 -
@OneTrickPony 他希望能够在选中收音机后取消选中它。