我有下一个代码:
<tr>
<td>
<select class="select_big" name="additional_field" id="<?=$field['id'];?>" required>
<option value="0">Выберите значение</option>
...
</td>
</tr>
<tr>
<td>
<select class="select_big" name="additional_field" id="<?=$field['id'];?>" required>
<option value="0">Выберите значение</option>
...
</td>
</tr>
<tr>
<td>
<select class="select_big" name="additional_field" id="<?=$field['id'];?>" required>
<option value="0">Выберите значение</option>
...
</td>
</tr>
<tr>
<td>
<select class="select_big" name="additional_field" id="<?=$field['id'];?>" required>
<option value="0">Выберите значение</option>
...
</td>
</tr>
当我选择第二个“select”元素时,我需要禁用所有下一个。 如果我选择 1 需要禁用 3 和 4,如果我选择 2 我只需要禁用 4。 元素的数量可能不同。
我怎样才能得到选择旁边的所有元素?
我接下来试试:
<script type="text/javascript">
$("[name=additional_field]").change(function(e) {
field_data = '#' this.id.replace(/[* .]/g, "\\$&");
$(field_data).parent().parent().nextAll().each(function(i) {
console.log($(this)('[name=additional_field]'));
});
});
</script>
但我收到下一个错误: 未捕获的类型错误:对象不是函数
请帮帮我
最佳答案
我认为你可以做得更简单,而不会混淆父节点的遍历:
var $sel = $('.select_big').change(function() {
$sel.filter(':gt(' + $sel.index(this) + ')').prop('disabled', +$(this).val());
});
如果您选择返回默认选项,它也会重新启用选择框。
关于javascript - 选择所选元素的下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921189/