Ich habe eine Situation, in der ein Element vom Typ radio in einem Element enthalten ist. Das Ankerelement hat eine href, aber ich möchte dieses Verhalten überschreiben, indem Sie dem Element einen jQuery-Klick-Handler hinzufügen.Optionsfeld im Ankerelement wird nach jQuery-Klickhandler zurückgesetzt
Der Click-Handler macht das Optionsfeld innerhalb des ausgewählten Optionsfelds innerhalb der Gruppe. Das alles funktioniert, wenn auf den Anker geklickt wird. Wenn der Radiobutton angeklickt wird, wird jedoch angezeigt, dass jQuery das ausgewählte Radio auf den zuvor ausgewählten zurücksetzt!
Hier ist eine der vereinfachte Seite, die das Problem Duplikate:
<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>
Hat jemand eine Idee, wie ich jQuery zum Zurücksetzen der Radiobutton verhindern kann?
Habe gerade gemerkt, dass du mich dafür geschlagen hast. :) Ja, das Problem ist die Aufhebung der Radio-Buttons ändern Ereignis so das funktioniert. – Chris
Aber Sie können nicht auf einen Anker klicken, der kein 'href'-Attribut hat, naja, es ist zumindest kein gültiges Tag. –
Der Browser liefert möglicherweise keinen visuellen Hinweis, dass es sich um einen Link handelt, aber ich denke, dass ich eine: hover css-Regel bereitstellen kann, um den Zeiger zu ändern, was ich noch nicht tun kann. – GrievousAngel