У меня есть html-страница с именем search.html
, которая содержит ползунки, они отлично работают на этой странице.jQuery UI слайдер с функцией загрузки jQuery-AJAX не работает
Я пытаюсь загрузить эту страницу в другую (мою главную страницу) с помощью функции jQuery .load().
Я удалил инициализацию слайдера от search.html
и поставить его в функцию обратного вызова нагрузки() в главной странице, так он выполняется после того, как DOM, установите с помощью AJAX, готов, следующим образом:
$("#display_area").load("search.html","",function(response,status,xhr){
//#display_area is a div
$("#sliderprice").slider({ max: 1000 },{ step: 10 });
//#sliderprice is a div
})
У меня есть JS-скрипты для jQuery и jQuery UI, включенные в заголовок страницы search.html и главной страницы.
Когда я загружаю основную страницу, иногда слайдер работает правильно, но иногда он вообще не работает (не инициализируется), и когда это происходит, консоль ошибок firebug показывает: $ ("# sliderprice ") .slider не является функцией
Все, что я делаю, это обновить страницу, и иногда она работает, а иногда и нет.
Я хотел бы исправить это, чтобы он работал все время. Любая помощь будет оценена по достоинству.
Вы пробовали $ (документ) .ready (function() {}); ?? – JSantos
Да, это звучит как ошибка порядка загрузки. Использование вышеуказанного предложения может исправить это. –
Если вы хотите оставить код на странице search.html и поместить его в $ (document) .ready(), это не сработает. $ (document) .ready() никогда не запускается при вызове через .load(). Если, однако, вы имеете в виду на главной странице, я знаю, через отладку, что, когда функция вызывается, DOM готов к ней, но она не распознает функцию. –