Отключение выбора, когда флажок установлен

0

Я работаю над большим продуктом, и для жизни я не могу заставить это работать. Моя проблема заключается в том, что идентификатор флажков и раскрывающихся списков динамический, поэтому я просто не могу ссылаться на них, и я не могу редактировать html, чтобы дать им другой. Однако я могу содержать их в Div и давать имя класса для ссылки на них (div.blaaah select).

Я пытаюсь исследовать и писать некоторые JS, чтобы отключить раскрывающиеся окна, когда установлен флажок, но с проблемами ссылок я не могу этого сделать.

Также я хочу, чтобы это применило много страниц на странице (около 65 флажков отключить соответствующие пары раскрывающихся списков) - например:

Изображение 174551

поскольку каждый 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>    

Любая помощь приветствуется! Спасибо.

Теги:
checkbox
drop-down-menu

3 ответа

1
Лучший ответ

Попробуй это:

$(".NACheck input").click(function() {
    $('select', $(this).parents('.container-of-each-line')).attr('disabled', 'disabled');
});
  • 0
    Я отредактирую вопрос с иерархией
0

Предполагая, что ваши select boxs next two elements после checkbox

добавьте onchange или событие onclick к каждому onchange как

this.nextSibling.disabled = this.checked;
this.nextSibling.nextSibling.disabled = this.checked;
  • 0
    Я отредактирую вопрос с иерархией
0

Может быть, это может помочь:

$(this).parents('div containing checkbox').next().children().attr("disabled", true);

проверьте это http://jsfiddle.net/ZBymu/

  • 0
    Я только что добавил heriachy в html к нижней части моего вопроса, так как я не очень ясно дал понять
  • 0
    Можете ли вы дать уникальные идентификаторы для каждого флажка и соответствующие два поля выбора?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню