jQuery单选按钮索引

6
如何使用jQuery获取已选中的RadioButton索引?我需要读取并保存到cookie中,以便稍后使用代码加载状态。
$('input[name="compression"]')[{Reading from cookies code}].checked = true;



1<input name="compression" type="radio" value="1" checked="checked" />
2<input name="compression" type="radio" value="2" />
3<input name="compression" type="radio" value="3" />

问候
托马斯

1个回答

7
这将返回所选单选按钮的从零开始的索引。
$('input[name=compression]:checked').index()

对于评论中描述的情况,请使用以下语法(通常是正确的语法)

$('input[name=porient]:checked').index('input[name=porient]')

如果你想知道为什么第一个给出错误的结果,你应该阅读.index()文档
如果没有将参数传递给.index()方法,则返回值是整数,表示jQuery对象中第一个元素相对于其同级元素的位置。
在问题的示例中,没有任何“其他”同级元素,只有您的单选按钮。因此它有效。
在评论中的示例中,
标记是单选按钮的同级元素,因此位于索引1。这就是为什么您认为index()给出了错误的位置的原因。

奇怪的是,上面列出的“压缩”单选按钮代码可以正常工作,但下面用于“porient”单选按钮的代码返回错误的索引。如果选择第一个单选按钮,则返回0(好),如果选择第二个单选按钮,则返回2(!)。不明白发生了什么。有什么想法吗?                         <p>                 <input name =“porient”type =“radio”value =“portrait”checked =“checked”/>纵向                 <br />                 <input name =“porient”type =“radio”value =“landscape”/>横向             </p> - Tomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接