我正在研发一种大型产品,而对于我的生活,我无法让它发挥作用。 我的问题是,复选框和下拉框的id是动态的,所以我根本无法引用它们,我无法编辑html给另一个。但是,我可以在Div中包含它们并给它一个类名来引用它们(div.blaaah select)。
我一直在尝试研究并编写一些JS,以便在选中复选框时禁用下拉框但是引用问题时我无法执行此操作。
此外,我希望在页面上应用许多区域(大约65个复选框禁用相应的下拉框对) - 例如:
因为每个包含下拉框的div是包含复选框以禁用它的div之后的下一个元素我以为我可以使用.next()或者其他东西,但是我的技能与Js一样,不仅仅是划伤!
我尝试过很多东西,但是我想要的基本思路与下面的一系列尝试一致:
$(".NACheck input").click(function() {
$(this).next(".importSelect select").disabled=true;
});
这是元素的基础:
<td>
<div>
<div class="checkNA">
<table>
<tbody>
<tr>
<td>
<span>
<table>
<tbody>
<tr>
<td>
<INPUT: CHECKBOX />
</td>
<td>
</td>
</tr>
</tbody>
</table>
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
<td>
<div>
<div class="importSelect">
<table>
<tbody>
<tr>
<td>
<span>
<SELECT />
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
<td>
<div>
<div class="RelSelect">
<table>
<tbody>
<tr>
<td>
<span>
<SELECT />
<span>
</td>
</tr>
<tbody>
</table>
</div>
</div>
</td>
任何帮助将不胜感激!谢谢。
答案 0 :(得分:1)
试试这个:
$(".NACheck input").click(function() {
$('select', $(this).parents('.container-of-each-line')).attr('disabled', 'disabled');
});
答案 1 :(得分:0)
假设select boxs
next two elements
checkbox
后onchange
将<{1}}或onclick
事件添加到每个复选框
this.nextSibling.disabled = this.checked;
this.nextSibling.nextSibling.disabled = this.checked;
答案 2 :(得分:0)
可能会有所帮助:
$(this).parents('div containing checkbox').next().children().attr("disabled", true);