Как отследить, изменяется ли ввод (jQuery)? - PullRequest
1 голос
/ 17 января 2012

У меня есть следующий код:

jQuery('#hexVal').change(function() {
    var hexvarval = jQuery('#hexVal').val();
    jQuery('#thumbnail_hover_color').val(hexvarval);
});

По сути, я хочу изменять значение #thumbnail_hover_color INPUT каждый раз, когда #hexVal INPUT изменяется.Когда я делаю это вручную, это работает.Когда другой скрипт jQuery помещает текст в #hexVal, он не обновляется #thumbnail_hover_color.

Вопрос: Как вызвать «изменение значения» для одного поля INPUT каждый раз, когда значение изменяется (во всяком случае) в другомПоле ввода?Я хочу, чтобы они всегда имели одинаковое значение.

Ответы [ 2 ]

1 голос
/ 17 января 2012

Если вы программно устанавливаете / изменяете значение входа, вам также придется программно вызывать событие изменения (или вызывать тот же код, что и обработчик события изменения).Итак, я думаю, у вас есть два варианта:

jQuery('#hexVal').change(function() {
    var hexvarval = jQuery('#hexVal').val();
    jQuery('#thumbnail_hover_color').val(hexvarval);
});

jQuery('#hexVal').val('some value'); // changing the value
jQuery('#hexVal').trigger('change'); // triggering the change event handler

или

function changeHexVal() {
    var hexvarval = jQuery('#hexVal').val();
    jQuery('#thumbnail_hover_color').val(hexvarval);
}

jQuery('#hexVal').change(changeHexVal);

jQuery('#hexVal').val('some value'); // changing the value
changeHexVal(); // calling the 'change' event handler function
1 голос
/ 17 января 2012

Вы можете вызвать событие change #hexVal с помощью приведенного ниже кода. Инициируйте это событие, где бы вы ни устанавливали значение #hexVal в своем коде.

jQuery('#hexVal').change();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...