【发布时间】:2013-04-03 17:28:59
【问题描述】:
我有一个单选输入,在页面其他位置的按钮上,我检查它是否被选中,并将选中的值更改为开或关。
输入看起来像:
<input type="radio" name="send" value="1" checked="true" />
或者
<input type="radio" name="send" value="1" />
我有相当简单的 jQuery 来做检查:
$input = $('input[name=send]');
if( $input.is(":checked") )
{
$input.attr("checked", false);
}
else
{
$input.attr("checked", true);
}
问题是,如果页面加载并检查了输入,出于某种原因,我需要单击该按钮两次,然后它才能识别语句的 else 部分。
如果页面以未选中的输入开始,那么在第一次单击按钮时,它会按预期工作。然后每次点击都有效。但如果输入被检查,则不是初始加载。
将输入标记为已检查的正确方法是什么?
如何在 input[type=radio] 上执行正确的 if / else 语句以查看它是否被检查?
【问题讨论】:
-
$input.prop('checked',!$input[0].checked);?或者更好的$input[0].checked = !$input[0].checked。