Событие ввода Onchange не запускается в jquery - PullRequest
7 голосов
/ 21 марта 2012

Я работаю с jquery.

И у меня есть ввод текста в форме, я хотел бы обработать событие изменения.

$("#my_input").change(function(){alert('123');});

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

есть ли какое-нибудь решение?

и заранее спасибо.

Ответы [ 4 ]

11 голосов
/ 21 марта 2012

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

$('#my_input').trigger('change');

ярлык:

$('#my_input').change();
0 голосов
/ 21 марта 2012

вот код

$("input[type='text']").change( function() {
  // check input ($(this).val()) for validity here
});
0 голосов
/ 21 марта 2012

Вы можете использовать live / делегат, чтобы связать ваше событие изменения

$("#my_input").live('change',function(){alert('123');}); 
0 голосов
/ 21 марта 2012

Запустите их вручную, используя одну из следующих двух функций:

$('#my_input').trigger('change');
$('#my_input').change();
...