bei auswahl einer checkbox andere deaktivien
dobra
- javascript
Hallo,
Ist es möglich, bei Auswahl einer checkbox alle anderen automatisch abzuwählen?
<form name="myform" method="post" action="#">
....
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
usw
....
</form>
a____atnr__ wird dabei durch Artikelnummern ersetzt = jedesmal eine andere
deswegen kann ich type="radio" nicht verwenden.
Es soll aber nur EINE Checkbox gleichzeitig aktiviert werden können.
Kann mir bei diesem Problem bitte jemand (wenn möglich für JS-Anfänger verständlich) helfen?
Vielen Dank im Voraus
dobra
Hallo,
im SelfHTML Tutorial für JS gibt es genügend;
Aber naja:
Du kannst mit document.getElementById('die_Id_deiner_Checkbox').selected = true;
eine Checkbox aktivieren und mit
document.getElementById('die_Id_deiner_Checkbox').selected = false;
eine Checkbox deaktivieren.
Also fragst du erstmal mit einer if-Abfrage ab, ob die bestimmte Checkbox aktiviert ist und deaktivierst danach alle anderen...
MfG
Hallo dobra,
a____atnr__ wird dabei durch Artikelnummern ersetzt = jedesmal eine andere
deswegen kann ich type="radio" nicht verwenden.
Du könntest radio-Button nutzen, wenn Du die Artikelnummer als value sinnvollerweise übergibst:
<input name="artnr" type="radio" value="ABC-1234657">
<input name="artnr" type="radio" value="XYZ-7412353">
wenn möglich für JS-Anfänger
JS brauchst Du dann nicht mehr.
Mit freundlichem Gruß
Micha
Hi,
Ist es möglich, bei Auswahl einer checkbox alle anderen automatisch abzuwählen?
jein ... mit Unterstützung durch Javascript ist das möglich, aber unnötig viel Aufwand. Wenn aus einer Reihe von Optionen immer nur _eine_ auswählbar ist, sind (wie Micha schon erwähnt hat) Radiobuttons die bessere Wahl; dann brauchst du auch kein Javascript mehr.
Falls du zusätzlich die Möglichkeit brauchst, dass _kein_ Element ausgewählt ist, kannst du zusätzlich einen Eintrag
(o) keine
vorsehen.
<form name="myform" method="post" action="#">
....
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
usw
....
</form>
Böser Fehler: IDs müssen im gesamten Dokument eindeutig sein, dürfen also nicht mehrfach vorkommen. Du hast hier exakt dieselbe ID schon zweimal vergeben, wahrscheinlich sogar noch häufiger.
Wozu brauchst du die überhaupt?
a____atnr__ wird dabei durch Artikelnummern ersetzt = jedesmal eine andere
deswegen kann ich type="radio" nicht verwenden.
Das verstehe ich nicht - was hat das miteinander zu tun?
So long,
Martin
<form name="myform" method="post" action="#">
....
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
<input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1">
usw
....
</form>Böser Fehler: IDs müssen im gesamten Dokument eindeutig sein, dürfen also nicht mehrfach vorkommen. Du hast hier exakt dieselbe ID schon zweimal vergeben, wahrscheinlich sogar noch häufiger.
Wozu brauchst du die überhaupt?a____atnr__ wird dabei durch Artikelnummern ersetzt = jedesmal eine andere
deswegen kann ich type="radio" nicht verwenden.
Hallo an alle,
Zuerst mal Danke für die Tipps !
Leider ist das ganze nicht so einfach.
Ich will mal versuchen, es möglichst kurz und doch verständlich zu beschreiben:
Also das ganze stehet in einem Template
Es gibt auf der Seite einen Hauptartikel und diesem zugeordnete Crossartikel, die - je nachdem welcher Hauptartikel angezeigt wird - eingeblendet werden.
(Anzahl also unbekannt)
Die Crossartikel werden mit
<!--spmacro:loopitem-->
............
<table>
<tr>
<td rowspan="4"> <div class="resizeImg">__image__</div> </td>
<td></td>
</tr>
<tr>
<td valign="top"><a href="__xdetail__"><b>__produkt__</b></a></td>
</tr>
<tr>
<td valign="top" nowrap><i>__preis__</i></td>
</tr>
<tr>
<td><input id="__CROSS1__" name="a____artnr__" type="checkbox" value="1"></td>
</tr>
</table>
..............
<!--spmacro:enditem-->
<!--spmacro:loopitem--> bedeutet, daß dieser Block so oft wiederholt wird, wie Crossartikel vorhanden sind.
alle Identifier (__...__) werden dabei mit den entsprechenden Werten der Artikel ersetz.
Bei klick auf Bestellen-Button wird der Hauptartikel + die ausgewählten Crossartikel in den Warenkorb gelegt.
Ich kann also - softwarebedingt - da nichts ändern, da der Bestellablauf sonst nicht mehr funktioniert.
(in diesem speziellen Fall soll aber eben nur EIN Crossartikel auswählbar sein).
Ich habe einen Artikel über "dokument.all" bzw. das "getAttribute()" gefunden - vielleicht kann ich damit etwas basteln?
Muß das am Wochenende mal probieren.
Falls jemand dazu einen Tipp oder Gedankenanstoß (Entwurf??) für mich hat, wäre es fein.
mfG
dobra