2013-07-07 4 views
0

Я использую следующий слушатель:Слушатель не работает для динамически добавленного радиокнопки

$('#datatable .Answer input:radio').on('change', function() { 
     alert('Radio Button'); 

    }); 

И я добавляю переключатель динамически в эту таблицу «#datatable» следующим образом:

$(this).html('<input type="radio" class="Answer" name="correct"/>'); 

где это это элемент td, в который должен быть добавлен переключатель. Почему слушатель не работает над новыми элементами?

+0

* «Почему слушатель не работает над новыми элементами?» * Вы можете найти ответ на это в [documentation] (http://api.jquery.com/on/): * «Обработчики событий привязаны только к выбранным в данный момент элементам, они должны существовать на странице в то время, когда ваш код делает вызов '.on()'. * * –

ответ

2

Почему слушатель не работает над новыми элементами?

Потому что вы должны подписаться на событие изменения, как это:

$('#datatable .Answer').on('change', 'input:radio', function() { 
    alert('Radio Button'); 

}); 

Обратите внимание, как селектор 'input:radio' перемещается в функции .on() для того, чтобы подписаться на событие в живой манере.

+0

О, спасибо большое, я знал, что это была аналогичная ошибка для того, что я сделал ранее. – Sohaib

+0

Я сказал спасибо без попытки, кажется, он все еще не работает; ( – Sohaib

+0

Теперь его работа я должен был переместить. Ответ также в живой части. – Sohaib