Я использую jQuery, чтобы скрыть фактические переключатели на моем веб-сайте и заменить их изображениями (настраиваемые переключатели). JQuery позволяет пользователю щелкнуть изображение, которое в свою очередь «выбирает» скрытый переключатель. Фактические переключатели имеют события onclick, прикрепленные к ним в html-коде, но когда я «выбираю» переключатель с помощью изображения (jQuery), фактический переключатель не появляется, чтобы определить выбор, и, следовательно, событие onclick НЕ активируется.
Я могу подтвердить, что скрипт события onclick работает при использовании переключателей по умолчанию (без jQuery); это просто не работает, когда я использую jQuery для пользовательских переключателей. Вот мой код:
HTML-код
<div class="prettyRadiobuttons clearfix">
<ul id="store">
<li><input name="store" type="radio" id="store_1" value="store_1" onclick="dynamic_Select('code.php', this.value)" />
<label for="store_1">Store 1</label></li>
<li><input name="store" type="radio" id="store_2" value="store_2" onclick="dynamic_Select('code.php', this.value)" />
<label for="store_2">Store 2</label></li>
</ul>
</div>
jQuery (для пользовательских переключателей)
$(document).ready(function() {
//Adds the "radiolist" class to the div containing the radio buttons
$("div.prettyRadiobuttons").addClass("radiolist");
//Adds the html for the custom radio button (image) to each radio button (li)
$("div.radiolist li").append('<a class="radio-select" href="#">Select</a><a class="radio-deselect" href="#">Cancel</a>');
//Handles selecting a radio button
$(".radiolist .radio-select").click(
function(event) {
event.preventDefault();
var $boxes = $(this).parent().parent().children();
$boxes.removeClass("selected");
$(this).parent().addClass("selected");
$(this).parent().find(":radio").attr("checked","checked");
}
);
//Handles de-selecting a radio button
$(".radiolist .radio-deselect").click(
function(event) {
event.preventDefault();
$(this).parent().removeClass("selected");
$(this).parent().find(":radio").removeAttr("checked");
}
);
});
Различные классы в jQuery используются для назначения разных изображений через CSS в зависимости от того, выбран ли переключатель.
Код jQuery работает без присутствия событий onclick, а события onclick работают без использования jQuery, но я не могу заставить их обоих работать вместе. Любая помощь будет высоко ценится!