【发布时间】:2012-06-07 13:53:14
【问题描述】:
我实际上能够通过为我的单个单选按钮分配 ID 并以这种方式操作它们来找出我的问题,但我仍然很困扰我不明白为什么这不起作用。
这是交易:假设我有两组单选按钮,看起来像这样:
<input type="radio" name="RadioGroup1" id="Group1True" value="True" /> True
<input type="radio" name="RadioGroup1" id="Group1False" value="False" /> False
<input type="radio" name="RadioGroup2" id="Group2True" value="True" /> True
<input type="radio" name="RadioGroup2" id="Group2False" value="False" /> False
我希望 RadioGroup2 按钮受到影响,具体取决于在 RadioGroup1 中选择的内容。例如,如果选择了 ID="Group1True",那么我希望隐藏 RadioGroup2 按钮(我将 RadioGroup2 按钮包裹在
但是,如果选择了 ID="Group1False",我不仅希望 RadioGroup2 按钮重新出现(效果很好),我还希望 RadioGroup2 按钮重新出现strong>RadioGroup2 按钮被重置和取消选中。 这是我遇到问题的地方。
我已经尝试了以下所有组合(甚至还有一些我不记得的组合)。 没有他们做我想做的事。
if ( $("#RadioGroup1:checked").val() == "False" )
{
// HERE'S where I run into problems:
// This line not only unchecks the RadioGroup2 buttons, it also unchecks
// the RadioGroup1 buttons, which I DO NOT want it to do!!!!!!!!!
$("input:radio[@name=RadioGroup2]").removeAttr("checked");
// This line gives me a JavaScript error saying:
// "Object doesn't support this property or method"!!!!!!!
$("input[@name=RadioGroup2]").removeAttr("checked");
// This line does absolutely nothing
$("RadioGroup2").removeAttr("checked");
}
正如我所说,我能够通过引用 ID 而不是无线电组名称来解决我的问题,但我仍然很沮丧,因为我不知道为什么这不起作用。
有人可以启发我吗?
【问题讨论】:
-
你为什么使用“@”?只需使用 :radio[name=RadioGroup2] 作为选择器 api.jquery.com/attribute-equals-selector
-
CSS 选择器语法与 xpath 不同。
-
@ianpgall -- 帮个忙 -- 请把这个写成答案,这样我就可以把它标记为答案!!!
-
不用担心,其他人也回答了同样的问题,但也提供了更多信息,我不担心成为正确答案,很高兴你得到它。不过,我会将链接添加到已接受答案的解释中:)
标签: javascript jquery syntax jquery-selectors