Определите, когда значение текстового поля изменяется с помощью jQuery - PullRequest
1 голос
/ 20 января 2011

У меня есть 2 текстовых поля. В первом я ввожу уникальный идентификатор для клиента. Когда я выхожу из этого текстового поля, он запускает запрос к моей БД и заполняет второе текстовое поле, которое является типом клиента.

Когда значение второго текстового поля обновляется из БД (т. Е. Значение «изменяется» с «» на полученное значение), я хочу получить это значение и отправить его в качестве параметра для моего второго запроса к БД.

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

Глядя на событие jQuery .change (), оно появляется только тогда, когда текстовое поле теряет фокус, но в моем дизайне текстовое поле никогда не фокусируется.

В идеале было бы замечательно, если бы я мог определить, когда изменилось значение второго текстового поля, а затем запустить мой второй запрос.

Как это возможно?

Спасибо! Mark

Ответы [ 2 ]

1 голос
/ 20 января 2011

Я не совсем уверен, как выглядит ваш Ajax-вызов, но вы должны иметь возможность использовать trigger('change') или просто change(), чтобы вызвать событие изменения-обработка:

$('#input2').val(variableFromAjaxFunction).trigger('change');
0 голосов
/ 20 января 2011

В обратном вызове для вашего первого запроса AJAX (где вы заполняете второе текстовое поле) запустите событие change.

Возможно, у вас будет:

jQuery.ajax({
  ...
  success: function (response) {
      $('#textbox2').val(response);
  }
});

Просто изменитеэто:

jQuery.ajax({
  ...
  success: function (response) {
      $('#textbox2').val(response).trigger('change');
  }
});
...