Стили CSS и события jQuery не применяются к HTML, загруженному ajax - PullRequest
0 голосов
/ 14 сентября 2018

Я работаю над Laravel Framework, чтобы показать список продуктов, каждый продукт и соответствующие сведения о продукте встроены в элемент div, поэтому различные элементы div отображаются правильно выровненными на странице. Каждому элементу продукта присваивается флажок icheck для сравнения двух продуктов.

На той же странице также есть фильтры, такие как бренды, цены и т. Д., Каждый из которых связан с флажком, инициализированным с помощью icheck. Когда я нажимаю на флажок фильтра, продукты из бэкэнда появляются в интерфейсе, используя jQuery Ajax.

Для создания вида товаров создан другой блейд, такой же, как при начальной загрузке страницы. Это представление визуализируется методом view()->render() Laravel и показывается на внешнем интерфейсе с использованием метода element.html().

Проблема в том, что уже загруженные стили и события для icheck и других кнопок не работают для html-содержимого, загруженного ajax.

Чтобы добиться успеха, мне пришлось написать что-то вроде

$(document).on("ifChanged", '.compare_products input[type="checkbox"].minimal-red', function(){
            var test = $(this).val();

            var yourArray = [];
            count = 0;
            $('.compare_products input[type="checkbox"].minimal-red:checked').each(function(){
                yourArray.push({'p_id' : $(this).data('val'), 'prod_name' : $(this).data('prod_name')});

            });
            compare(yourArray, this);
        })

Так что тогда у меня не было проблем с событиями. Но стили CSS (поля, отступы и т. Д.) Для разных кнопок, например Кнопка «Купить сейчас» не была применена.

Так может кто-нибудь предложить мне решение проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...