我有一个元素包含在一个元素中的情况。锚元素有一个 href 但我想通过向元素添加一个 jQuery 'click' 处理程序来覆盖该行为。
单击处理程序使其中的单选按钮成为组中的选定单选按钮。这一切都在单击锚点时起作用,但是,当单击单选按钮时,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 重置单选按钮?