2011-01-20 3 views
1

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

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

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

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

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

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

Спасибо! Mark

+1

Почему вы хотите получить информацию e значение, которое вы только что отправили через AJAX? Не могли бы вы продолжить свою функцию в javascript при изменении значения. Или, кроме того, сделать полный PHP первым, прежде чем отправлять его туда и обратно так много раз? – Marnix

ответ

1

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

$('#input2').val(variableFromAjaxFunction).trigger('change'); 
0

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

Вы, вероятно, есть:

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

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

jQuery.ajax({ 
    ... 
    success: function (response) { 
     $('#textbox2').val(response).trigger('change'); 
    } 
}); 
Смежные вопросы