我试图让jquery查看元素何时更改,然后运行一个涉及它的同级的操作,如下所示:
$('.row').find('#class').change(function(){
$(this).siblings('#teacher').removeAttr('disabled');
var class_id = $(this).val();
});
因此,当 ID 为 class
的输入发生更改时,它将获取其值,然后影响其 ID 为 teacher
的同级。 它们都在<div class="row">
内部,这在页面上重复了几次。
该 HTML:
<div class="row">
<div class="grid_2">
<select name="class" id="class">
<option></option>
//PHP that loads choices
</select>
</div>
<div class="grid_2">
<select name="teacher" id="teacher" disabled="true">
//Ajax loads choices
</select>
</div>
</div>
这在整个页面中重复了几次。
我需要帮助的是当第一个选择框(旁边(更改时如何选择第二个选择框。
感谢您的帮助。
编辑:当我尝试控制台时.log $(this).siblings()
结果它返回[]
。
虽然您永远不应该有多个具有相同 ID 的元素,但如果这样做,您可以使用属性选择器选择它们:
$(this).siblings('[id=teacher]');
有关详细信息,请参阅: 具有相同 ID 的多个元素响应一个 CSS ID 选择器