javascript aktivieren diabled Feld, klicken Sie auf und wählen Sie nur ein zu einer Zeit
Ich bin der dynamischen Generierung von Checkboxen mit der id wie chkBox100 etc und mit onClick-Funktion.
Was ich tun möchte, ist
- Wählen Sie nur eine checkbox zu einer Zeit.
- Wenn eine vorhergehende Kontrollkästchen aktiviert ist, und ein weiteres Kontrollkästchen überprüfen, deslect die Vorherige.
- Wenn ich auf die checkbox ausgewählt, es sollte deslect.
Ich will es tun, in standard-javascript ohne jquery oder sonstige library.
Bitte Hilfe, Ihre Hilfe wird geschätzt. Hier ist mein code bisher.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<script type="text/javascript">
function toggle(chkBox)
{
if (chkBox.checked)
{
chkBox.checked = false;
}
else
{
chkBox.checked = true;
}
//only select one at a time.
}
</script>
</head>
<body>
<form id="myForm" name="myForm">
<input type="checkbox" id="chkBox100" onClick="toggle(this);">
<input type="checkbox" id="chkBox121" onClick="toggle(this);">
<input type="checkbox" id="chkBox1180" onClick="toggle(this);">
</form>
</body>
</html>
Warum nicht verwenden, radio-buttons?
Ich Stimme mit @gereeter. Vielleicht noch ein "Keine" option zum deaktivieren des anderen.
Auch die Formular-Steuerelemente müssen ein name-Attribut, ansonsten können Sie nicht erfolgreich sein und wird nicht aufgenommen werden, wenn das Formular abgeschickt wird.
Ich Stimme mit @gereeter. Vielleicht noch ein "Keine" option zum deaktivieren des anderen.
Auch die Formular-Steuerelemente müssen ein name-Attribut, ansonsten können Sie nicht erfolgreich sein und wird nicht aufgenommen werden, wenn das Formular abgeschickt wird.
InformationsquelleAutor Nomad | 2011-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ohne Verwendung einer Bibliothek, denke ich, können Sie das folgende tun und es scheint zu funktionieren wenn ich dich richtig verstanden habe.
Fiddle
InformationsquelleAutor mreyeros
Den code, den Sie fehlen, ist der code, deaktivieren Sie die Ruhe. Um dies zu tun, sollten Sie zuerst eine Liste alle Kontrollkästchen, und deaktivieren Sie alle von Ihnen. Dann wählen Sie die, die der Benutzer angeklickt hat.
Alternative dazu ist die Verwendung von radio-buttons, die automatisch die ersten zwei Eigenschaften, die Sie wollen, aber nicht die Dritte, obwohl Sie dieses Problem beheben könnte wie RobG gesagt, mit einer anderen option, nämlich "Keine der oben genannten."
Danke, behoben.
InformationsquelleAutor gereeter
Haben Sie sich überlegt über radio-buttons mit einem Standard überprüft button, ist quasi die "no-choice" - option? Kein javascript erforderlich.
InformationsquelleAutor RobG