У меня есть ситуация, когда элемент, тип радио, содержится в элементе. Якорный элемент имеет href, но я хочу переопределить это поведение, добавив обработчик jQuery 'click' к элементу.Радио-кнопка внутри анкерного элемента сбрасывается после обработки jQuery clicker
Обработчик кликов делает переключатель внутри него выбранным внутри группы. Это все работает, когда клик нажимается, однако, когда щелкает радиокнопка, появляется, что jQuery сбрасывает выбранное радио на ранее выбранное!
Вот упрощенная страница, которая дублирует вопрос:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#a1").click(function(event) {
anchorClicked("a1");
return false;
});
$("#a2").click(function(event) {
anchorClicked("a2");
return false;
});
});
function anchorClicked(anchorId) {
$('#' + anchorId + ' input:radio').attr("checked", true);
alert("Look at what is selected and what happens after the event when this dialog is closed!");
}
</script>
</head>
<body>
<form>
<ul>
<li id="li1">
<a id="a1" href="javascript:alert('default functionality')">
<input value="1" name="rb" type="radio" id="rb1">
<span>Details 1</span>
</a>
</li>
<li id="li2">
<a id="a2" href="javascript:alert('default functionality')">
<input value="2" name="rb" type="radio" id="rb2">
<span>Details 2</span>
</a>
</li>
</ul>
</form>
</body>
Кто-нибудь есть какие-либо идеи, как я могу предотвратить JQuery для сброса переключатель?
Просто заметил, что ты избил меня. :) Да, проблема заключается в том, что смена переключателей меняется, так что это работает. – Chris
Но вы не можете щелкнуть якорь, у которого нет атрибута 'href', ну, по крайней мере, его недействительный тег. –
Браузер может не показывать визуальный индикатор, что это ссылка, но я думаю, что могу предоставить правило hover css для изменения указателя, которое я еще не могу сделать. – GrievousAngel