Я работаю над большим продуктом, и для жизни я не могу заставить это работать. Моя проблема заключается в том, что идентификатор флажков и раскрывающихся списков динамический, поэтому я просто не могу ссылаться на них, и я не могу редактировать html, чтобы дать им другой. Однако я могу содержать их в Div и давать имя класса для ссылки на них (div.blaaah select).
Я пытаюсь исследовать и писать некоторые JS, чтобы отключить раскрывающиеся окна, когда установлен флажок, но с проблемами ссылок я не могу этого сделать.
Также я хочу, чтобы это применило много страниц на странице (около 65 флажков отключить соответствующие пары раскрывающихся списков) - например:
поскольку каждый div, содержащий раскрывающийся список, следующий элемент после div, содержащий флажок, чтобы отключить его, я думал, что могу использовать.next() или что-то, но мои навыки с Js просто arent до нуля!
Я попытался найти множество вещей, но основная идея, которую я собираюсь сделать, заключается в следующих путях попытки:
$(".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>
Любая помощь приветствуется! Спасибо.
Попробуй это:
$(".NACheck input").click(function() {
$('select', $(this).parents('.container-of-each-line')).attr('disabled', 'disabled');
});
Предполагая, что ваши select boxs
next two elements
после checkbox
добавьте onchange
или событие onclick
к каждому onchange
как
this.nextSibling.disabled = this.checked;
this.nextSibling.nextSibling.disabled = this.checked;
Может быть, это может помочь:
$(this).parents('div containing checkbox').next().children().attr("disabled", true);
проверьте это http://jsfiddle.net/ZBymu/