gpt4 book ai didi

jquery - 如何在 jQuery 中重置单选按钮,以便不检查任何单选按钮

转载 作者:IT王子 更新时间:2023-10-29 03:24:31 26 4
gpt4 key购买 nike

我在 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>

这是在表单标签中,当用户提交表单时,我想让所有单选按钮恢复为默认值。这意味着他们都没有检查。

我有这段代码,但它给出了一个错误,提示 [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;

我在 IE 6 中这样做。

最佳答案

在 1.6 之前的 jQuery 版本中使用:

$('input[name="correctAnswer"]').attr('checked', false);

在 1.6 之后的 jQuery 版本中,您应该使用:

$('input[name="correctAnswer"]').prop('checked', false);

但如果您使用的是 1.6.1+,则可以使用第一种形式(请参阅下面的注释 2)。

注意 1:重要的是第二个参数是 false 而不是 "false" 因为 "false" 不是虚假值。即

if ("false") {
alert("Truthy value. You will see an alert");
}

注意 2: 从 jQuery 1.6.0 开始,现在有两个类似的方法,.attr.prop 做两个相关的但略有不同的东西。如果在这种特殊情况下,如果您使用 1.6.1+,则上面提供的建议有效。以上不适用于 1.6.0,如果您使用的是 1.6.0,则应升级。如果您需要详细信息,请继续阅读。

详细信息:当使用直接的 HTML DOM 元素时,DOM 元素附加了一些属性(checkedtype value 等),它提供了 HTML 页面运行状态的接口(interface)。还有 .getAttribute/.setAttribute 接口(interface),它提供对 HTML 中提供的 HTML 属性值的访问。在 1.6 之前,jQuery 通过提供一种方法 .attr 来模糊区别,以访问两种类型的值。 jQuery 1.6+ 提供了两种方法,.attr.prop 来区分这些情况。

.prop 允许您在 DOM 元素上设置属性,而 .attr 允许您设置 HTML 属性值。如果您使用纯 DOM 并将检查属性 elem.checked 设置为 truefalse,您将更改运行值(什么是用户看到)并且返回的值跟踪页面状态。 elem.getAttribute('checked') 但是只返回初始状态(并返回 'checked'undefined 取决于来自HTML)。在 1.6.1+ 中使用 .attr('checked', false) 同时执行 elem.removeAttribute('checked')elem.checked = false 因为更改导致了很多向后兼容性问题,并且它无法真正判断您是要设置 HTML 属性还是 DOM 属性。在 documentation for .prop 中查看更多信息.

关于jquery - 如何在 jQuery 中重置单选按钮,以便不检查任何单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com