#javascript #jquery
#javascript #jquery
Вопрос:
Я запускаю событие onchange, которое у меня есть в текстовом поле при загрузке страницы
$(document).ready(function () {
$("input[id$=dpDeliveryDate]").each(function () {
$(this).get(0).onchange();
});
});
Это запускается корректно и вызывает созданную мной функцию.
Если я добавлю оповещения в эту функцию, она будет предупреждать о правильной загрузке страницы. Итак, я отлично знаю, что он вызывает функцию! но не выполняет остальные команды в функции
Также, если после загрузки страницы я изменю значение текстового поля, на этот раз он также сработает корректно, правильно выполнив все команды в функции..
Функция в основном должна выполнять
$(this).parent().next().next().show();
Итак, я не могу понять, почему это работает onchange, но не тогда, когда onchange запускается из document.load?
Комментарии:
1. Вы проверили свою консоль на наличие каких-либо ошибок? похоже, что это может быть, если это останавливает выполнение в середине функции
2. Пожалуйста, покажите нам вашу
.change()
функцию-обработчик.
Ответ №1:
Изменить
$(this).get(0).onchange();
Для
$(this).change();
Комментарии:
1. пробовал, но не работает, как я уже сказал, я знаю, что функция вызывается просто отлично..
2. @Steve ‘this’ по-прежнему ссылается на узел dom с помощью встроенного onchange(), а не jQuery change()?
3. Если мы говорим о более простом коде,
$("input[id$=dpDeliveryDate]").change();
было бы достаточно. Но это не решает проблему OP, было бы неплохо в качестве комментария.