PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alle Radiobuttons mit einem RB auswählen


tbeirau
22.10.2003, 12:07:17
Ich möchte mit einem Radiobutton alle anderen vorhanden RB auswählen - so in der Art "Alle auswählen".


Danke schonmal für eure Hilfe

Viele Grüße Tino

diver-network
22.10.2003, 13:00:24
Hi Tino,

da ich nicht viel Zeit habe nur ein Ansatzpunkt, wie Du es lösen könntest:

Speichere die Namen der RBs, die gefüllt werden müssen, in einem Array. Wird dann der andere RB angeklickt kannst Du über eine Schleife, die sämtliche Werte des Arrays ausliest, die dortigen RBs füllen.

z.B.
function fuellen()
for (i < array.length, i++) {
array[i].checked = true; // schau hier noch mal nach der Syntax!
}
}

Sprache ist JavaScript, genaue Syntax findest Du auch bei SelfHTML.

HTH,
Andy

sourcecode
22.10.2003, 15:38:50
Was du sicher meinst, sind checkboxen. Radiobuttons sind diese runden, wo du von jeder Gruppe nur einen auswählen kannst (gleicher Name=gleiche Gruppe). Checkboxen sind die quadratischen, wo du jede auswählen kannst oder nicht. Habe mal bei dyndns.org "geschmult":

Skript:
<script type="text/javascript" language="javascript">
function setCheckboxes(the_form, do_check)
{
var elts = document.forms[the_form].elements['selected'];
var elts_cnt = (typeof(elts.length) != 'undefined') ? elts.length : 0;

if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
}
} else {
elts.checked = do_check;
}

return true;
}
</script>

Formular:
<form name="bulk">
<input type="checkbox" name="selected" value="Wert">
...
</form>
<a href="#" onClick="setCheckboxes('bulk',true);">Select all</a> |
<a href="#" onClick="setCheckboxes('bulk',false);">Deselect all</a>

Nev
22.10.2003, 15:42:28
Du kannst nicht alle RadioButtons selectieren, sondern nur 1 pro Group.

um alle zu selectieren hast du 2 Möglichkeiten.
1) per JS.
du durchläufst das Dokument und selectierst jeweils das 1 element der Group
2) per PHP
was bedeutet das du die Seite refreshen musst.


zum JS
for (var i=0; i<f.elements.length; i++) {
var tmp_field_req = f.elements[i];
if (tmp_field.length > 0) {
// Radio-Button
for (var j= 0; j < tmp_field.length; j++) {
if (tmp_field[j].checked) {
ok = true;
}
}
if (!ok) {
tmp_field[0].checked = true;
}
}
}

tbeirau
23.10.2003, 12:23:36
Hat funktioniert.

Vielen Dank an alle!

Viele Grüße Tino