2013-03-18 2 views
-1

После формы submit (http post), я создаю новую форму на той же странице php. Недавно созданные элементы (кнопки, метки, слайдеры) не распознаются в событии jquery. Работа jquery перед отправкой, но не после.jQuery новые элементы не распознаются

$("#sliders").on("change", function(){ 
    var SliderValue = $("#slider0").val(); 
    if (SliderValue==10){ 
     $('#submit_next').button('enable'); 
    } 
    else 
     $('#submit_next').button('disable'); 
     $("#lblsum_scores").text(SliderValue+'/10'); 
}); 
+3

Возможно, обман http://stackoverflow.com/questions/15090942/jquery-on-not-working-on-dynamic-content –

+0

Ваш блок 'else' должен быть окружен фигурными фигурными скобками, предполагая, что' $ ("# lblsum_scores"). text (SliderValue + '/ 10'); 'бит относится только к неспецифическому случаю. – Xophmeister

+0

Событие называется. Но кнопки, слайдер и ярлык не распознаются. – user2182429

ответ

2

Вы должны делегата события к новым созданным элементам

вместо:

$("#sliders").on("change", function(){ 

вы должны использовать:

$("parentOfSliderNotGenerated").on("change", "#sliders", function(){ 

для получения дополнительной информации, читать http://api.jquery.com/on/

+0

Это не устраняет проблему. Она работает перед отправкой, но после отправки и восстановления формы jquery не работает. – user2182429

+1

@ user2182429 То, что вы описываете как проблему, должно быть исправлено с помощью вышеуказанного кода. Убедитесь, что 'parentOfSliderNotGenerated' является селектором для элемента, который не восстанавливается. Если все остальное не удается, попробуйте использовать '$ (document) .on (« change »,« # sliders », function() {' –

+0

, но все регенерируется .. Это должно быть проблемой? – user2182429

Смежные вопросы