2015-07-16 2 views
0

Я использую JQuery привязки на кучу кнопок радио со следующим кодом:Проблема с JQuery привязки

jQuery().ready(function() { 
    jQuery("input[name='rank_number']:radio").bind('change', function(){ 

     submitSelectedRank(); 
    }); 

}); 

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

$.ajax({ 
     type: "POST", 
     url: "/loadMyRadioButtons", 
     data: rankings, 
     dataType: "html", 
     success: function(response) 
     { 
      $('#radioBtnDiv').html(response); 
     } 
    }); 

теперь вопрос, в любое время это Ajax вызов заменяет HTML-код, обязательные остановки работы. Как это исправить?

+0

try 'on' вместо 'bind' – Sushil

ответ

3

Использование событие делегации:

$(document).on('change', "input[name='rank_number']:radio", function(){ 
    submitSelectedRank(); 
}); 

Здесь document можно заменить любым родителем ваших входов, которые существуют на странице загрузки. i.e:

$('#radioBtnDiv').on('change', "input[name='rank_number']:radio", function(){ 
    submitSelectedRank(); 
}); 
+0

@ user1195192 Любые ошибки в вашей консоли? (F12). Он должен работать: http://jsfiddle.net/ke3ek75j/ – blex

+0

@ user1195192 Конечно, создайте [Pastebin] (http://pastebin.com/) – blex

+0

pastebin.com/embed_iframe.php?i=t7yY4pYu – user1195192

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