Я добавил HTML-код, используя append, но этот новый код больше не выполняет JavaScript - PullRequest
2 голосов
/ 07 ноября 2019

После вставки кода с использованием Ajax этот код не запускает javascript, к которому он должен обращаться, поскольку он идентичен коду, который уже был написан на странице

Я пытаюсь загрузить страницу,и обновить базу данных с помощью Ajax (работает). У меня есть кнопка, которая добавляет новую строку на страницу (работает), чтобы добавить больше данных в таблицу. Проблема в том, что новый «добавленный» код не выполняет ajax, как написанный код!

этот код был написан во время загрузки страницы1q33

это новый код, который я добавил с помощью .append2

это javascript, который запускается в исходном коде, но не работает для добавленного. $ (': Input [class = html5]'). Change (function () {});

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

Ответы [ 3 ]

1 голос
/ 07 ноября 2019

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

$(document).on('change', ':input[class=html5]', function () { 
    //...
});
1 голос
/ 07 ноября 2019

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

$('body').on('change', ':input[class=html5]', function() {

});
1 голос
/ 07 ноября 2019

Вы можете использовать как показано ниже: *

$(':input[class=html5]').on("change", function () { });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...