我在HTML中有单选按钮,如下所示:
<td>
<input id="radio1" type="radio" name="correctAnswer" value="1">1</input>
<input id="radio2" type="radio" name="correctAnswer" value="2">2</input>
<input id="radio3" type="radio" name="correctAnswer" value="3">3</input>
<input id="radio4" type="radio" name="correctAnswer" value="4">4</input>
</td>
Run Code Online (Sandbox Code Playgroud)
这是一个表单标记,当用户提交表单时,我想让所有单选按钮恢复为默认值.意思是没有人检查过.
我有这个代码,但它给出了一个错误说 [0] is null or not an object
$('input[@name="correctAnswer"]')[0].checked = false;
$('input[@name="correctAnswer"]')[1].checked = false;
$('input[@name="correctAnswer"]')[2].checked = false;
$('input[@name="correctAnswer"]')[3].checked = false;
Run Code Online (Sandbox Code Playgroud)
我在IE 6中这样做.
lam*_*cck 262
在1.6之前的jQuery版本中使用:
$('input[name="correctAnswer"]').attr('checked', false);
Run Code Online (Sandbox Code Playgroud)
在1.6之后的jQuery版本中你应该使用:
$('input[name="correctAnswer"]').prop('checked', false);
Run Code Online (Sandbox Code Playgroud)
但如果您使用的是1.6.1+,则可以使用第一种形式(参见下面的注释2).
注1:重要的是第二个参数为假而不是"假",因为"假"不是假值.即
if ("false") {
alert("Truthy value. You will see an alert");
}
Run Code Online (Sandbox Code Playgroud)
注2:在jQuery 1.6.0中,现在有两个类似的方法,.attr并.prop认为做两个相关但略有不同的东西.如果在这种特殊情况下,如果您使用1.6.1+,则上述建议可以使用.以上不适用于1.6.0,如果你使用1.6.0,你应该升级.如果您需要详细信息,请继续阅读.
详细说明:当与直HTML DOM元素工作,也有附加到DOM元素属性(checked,type,value等),其提供到HTML页面的运行状态的接口.还有.getAttribute/ .setAttributeinterface提供对HTML中提供的HTML属性值的访问.1.6之前,jQuery通过提供一种方法.attr来模糊区别,以访问两种类型的值.jQuery的1.6 +提供了两种方法,.attr并.prop得到这些情况加以区分.
.prop允许您在DOM元素上设置属性,同时.attr允许您设置HTML属性值.如果您正在使用普通的DOM工作,选中的属性设置,elem.checked以true或false更改运行值(用户所看到的),并返回值在页面状态轨道.elem.getAttribute('checked')但是只返回初始状态(并返回'checked'或undefined取决于HTML的初始状态).在1.6.1+中使用.attr('checked', false)两者elem.removeAttribute('checked')并且elem.checked = false由于更改导致了许多向后兼容性问题,并且无法确定是否要设置HTML属性或DOM属性.请参阅.prop文档中的更多信息.
小智 53
在jquery中设置radiobutton状态的最佳方法:
HTML:
<input type="radio" name="color" value="orange" /> Orange
<input type="radio" name="color" value="pink" /> Pink
<input type="radio" name="color" value="black" /> Black
<input type="radio" name="color" value="pinkish purple" /> Pinkish Purple
Run Code Online (Sandbox Code Playgroud)
Jquery(1.4+)代码预先选择一个按钮:
var presetValue = "black";
$("[name=color]").filter("[value='"+presetValue+"']").attr("checked","checked");
Run Code Online (Sandbox Code Playgroud)
在Jquery 1.6+代码中,首选.prop()方法:
var presetValue = "black";
$("[name=color]").filter("[value='"+presetValue+"']").prop("checked",true);
Run Code Online (Sandbox Code Playgroud)
要取消选择按钮:
$("[name=color]").removeAttr("checked");
Run Code Online (Sandbox Code Playgroud)
bdu*_*kes 10
您的问题是属性选择器不以a开头@.
试试这个:
$('input[name="correctAnswer"]').attr('checked', false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
237609 次 |
| 最近记录: |