【发布时间】:2011-09-05 16:54:35
【问题描述】:
我有此代码来检查/取消选中单选按钮 onclick。
我知道这对 UI 不利,但我需要这个。
$('#radioinstant').click(function() {
var checked = $(this).attr('checked', true);
if(checked){
$(this).attr('checked', false);
}
else{
$(this).attr('checked', true);
}
});
上述功能不起作用。
如果我单击按钮,则没有任何变化。它仍然处于选中状态。为什么?错误在哪里?我不是 jQuery 专家。我在 jQuery 1.3.2
需要明确的是,#radioinstant 是单选按钮的 ID。
【问题讨论】:
-
应该注意的是,如果您还根据它的选中状态对这个收音机做一些事情,您可能会在 onclick 事件上得到误导性的“选中”值。一种解决方案是在 mousedown 上分配您要分配给它的值(与它的值相反)在节点上的变量中,例如 this.__rval 并检查它是否存在于您的 onclick 处理程序中。如果它存在,您就知道其中的值是正确的,尽管 this.checked 可能即将更改。
标签: javascript jquery radio