JQuery значение в раскрывающемся списке установлен флажок отключить - PullRequest
1 голос
/ 16 июля 2011

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

Пример моего кода здесь:

пример кода в js fiddle

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

Ответы [ 3 ]

2 голосов
/ 16 июля 2011

Это следует сделать, если мое понимание вашей проблемы верно:

$("select").change(function() {
    $(this).closest("td").prev().find(":checkbox").prop("disabled", $(this).val() !== "0");
});

$(":checkbox").change(function() {
   $(this).parent().next().find("select").prop("disabled", this.checked);
});

Ваша обновленная скрипка.

1 голос
/ 16 июля 2011

Попробуйте это (у меня работает ):

$("select").change(function() {
  var $this = $(this),
      $checkbox = $this.parent().prev().find("input");

  if ($this.val() != 0) {
    $checkbox.attr("disabled", true);
  } else {
    $checkbox.removeAttr("disabled");
  }
});

$(":checkbox").change(function() {
  var $this = $(this),
      $select = $this.parent().next().find("select");

  if ($this.is(":checked")) {
    $select.attr("disabled", true);
  } else {
    $select.removeAttr("disabled");
  }
});
0 голосов
/ 16 июля 2011

Это связано с тем, что при событии 'change' значение, которое вы получаете, находится до того, как изменение действительно будет завершено, поэтому изменение, которое пользователь делает 'now', не будет отображаться до следующего запуска события.

Вы хотите использовать что-то вроде onblur, onmouseup или onkeyup, чтобы получать уведомления после изменения, что вы хотите изменить свойство флажка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...