На моей странице у меня есть динамически сгенерированный список переключателей (созданных с помощью AJAX). Список переключателей динамически генерируется, потому что он изменяется в зависимости от предыдущего выбора формы. Вот пример динамически генерируемый список переключателей (это отображается в Firefox DOM-просмотрщик надстройки, но не в «View Page Source»):jQuery не добавляется к динамически созданным элементам
<li>
<input name="giftcard_value" type="radio" id="25" value="25" />
<label for="25">$25</label>
<a class="radio-select" href="#">Select</a><a class="radio-deselect" href="#">Cancel</a>
</li>
<li>
<input name="giftcard_value" type="radio" id="50" value="50" />
<label for="50">$50</label>
<a class="radio-select" href="#">Select</a><a class="radio-deselect" href="#">Cancel</a>
</li>
У меня также есть другой скрипт JQuery, который я использую «щелкать» радиокнопками косвенно через ссылки/изображения. В приведенном выше коде фактический переключатель (внутри тега ввода) скрыт от пользователя. Пользователь нажимает на переключатель, нажимая на ссылку «Выбор», которая имеет класс «радио-выбор» (на самом деле это изображение). Сценарий jQuery обнаруживает, когда на ссылку/изображение нажимается «$ («. Radio-select »). Нажмите«, а затем запускает функцию, которая «нажимает/проверяет» фактический переключатель. Вот скрипт JQuery:
$(".radio-select").click(
function(event) {
event.preventDefault();
var $boxes = $(this).parent().parent().children();
$boxes.removeClass("selected");
$(this).parent().addClass("selected");
$(this).parent().find("[type=radio]").click().attr("checked","checked");
}
);
Моя проблема заключается в том, что скрипт JQuery не работает с динамически генерируемых радиокнопок. Он работает, если я жестко закодирую радиокнопки в html (видимый через «источник страницы просмотра» в браузере), но не если они генерируются динамически. Похоже, что jQuery не может обнаружить «.click» в ссылке/изображении и, таким образом, никогда не нажимает на фактический переключатель. Любая идея, в чем проблема? Любая помощь приветствуется!
Это дубликат - http://stackoverflow.com/questions/203198/jquery-event-binding-on-dynamically-created-elements – mrtsherman