【发布时间】:2016-02-17 10:24:16
【问题描述】:
我正在尝试使用 Jquery 完成以下操作:
当“无顶部”单选按钮被“选中”时,它应该禁用和“取消选中”复选框选择中所做的任何选择。
如果用户选择另一个单选按钮选项,例如“Black Top”,则应再次启用复选框选择。
我正在尝试解决这个问题,但不知道如何使用标签文本找到正确的单选按钮或复选框(这就是我必须继续进行的全部内容)。我不能使用 ID,因为它总是以不同的名称呈现。
澄清: 第一个 div 类“option-box”包含收音机集,然后是带有复选框的第二个 div 类“option-box”。 该页面有更多控件,包括单选和复选框,但它只是我试图操作的第二个“选项类”中的复选框。
有什么办法吗?
这是我的控件生成的代码(我无法修改):
<div class="option-box">
<div class="radio">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl03_KitComponent_4_0" name="ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4" value="0" checked="checked" type="radio" />
No Top
</label>
</div>
<div class="radio">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl03_KitComponent_4_1" name="ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4" value="8" onclick="javascript:setTimeout('__doPostBack(\'ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4$1\',\'\')', 0)" type="radio" />
Black Top
</label>
</div>
<div class="radio">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl03_KitComponent_4_2" name="ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4" value="9" onclick="javascript:setTimeout('__doPostBack(\'ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4$2\',\'\')', 0)" type="radio" />
White Top
</label>
</div>
<div class="radio">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl03_KitComponent_4_3" name="ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4" value="10" onclick="javascript:setTimeout('__doPostBack(\'ctl00$PageContent$ctl00$KitsList$ctl03$KitComponent_4$3\',\'\')', 0)" type="radio" />
Silver Top
</label>
</div>
</div>
<div class="option-box">
<div class="checkbox">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl04_KitComponent_10_0" name="ctl00$PageContent$ctl00$KitsList$ctl04$KitComponent_10$0" onclick="javascript:setTimeout('__doPostBack(\'ctl00$PageContent$ctl00$KitsList$ctl04$KitComponent_10$0\',\'\')', 0)" value="11" type="checkbox" />
Backdoor
</label>
</div>
<div class="checkbox">
<label>
<input id="ctl00_PageContent_ctl00_KitsList_ctl04_KitComponent_10_1" name="ctl00$PageContent$ctl00$KitsList$ctl04$KitComponent_10$1" onclick="javascript:setTimeout('__doPostBack(\'ctl00$PageContent$ctl00$KitsList$ctl04$KitComponent_10$1\',\'\')', 0)" value="12" type="checkbox" />
Topdoor
</label>
</div>
</div>
【问题讨论】:
-
感谢所有回答,Rory McCrossan 解决方案对我来说效果最好。
标签: javascript jquery checkbox radio