Checkboxen verknüpfen und übergabe
Björn
- programmiertechnik
Folgendes:
Ich habe eine Menge Team-Mitglieder, die in verschiedenen Teams sind.
Gewünscht ist eine Darstellung der Teams mit den jeweiligen Mitgliedern.
Man soll sowohl die Mitglieder einzeln per Checkbox selektieren können, aber auch das komplette Team mit einer Checkbox, was soweit auch noch kein Problem darstellt, solange ich die Team-NAmen fest bestimme.
<input type="checkbox" name="all" onclick="select_all_mitglieder(this.checked, 'team1[]')">
while ($x<$mitglieder){
echo"<input type="checkbox" name="team1[]" value="$mitglied[$x]">$mitglied[$x]";
$x++;
}
<input type="checkbox" name="all" onclick="select_all_mitglieder(this.checked, 'team2[]')">
while ($x<$mitglieder){
echo"<input type="checkbox" name="team2[]" value="$mitglied[$x]">$mitglied[$x]";
$x++;
}
Wenn ich die Teams mit einer festen Variable bestimme (also Team1, Team2 usw.) kann ich das ganze auch super an das Folgeformular übergeben.
Mein Problem ist es aber, dass ich nicht weiß wieviele Teams es werden können. Also die Team-Variable kann variieren und darf nicht fest bestimmt werden. Und das bekomme ich irgendwie nicht hin. Sobald ich statt "team1[]" "team$x[]" oder "$variable[]" mache, schießt der mir nen Fehler raus. Ich habe schon einges ausprobiert, finde aber leider nicht die Lösung.
Ich hoffe, dass ich einigermaßen nachvollziebar mein Problem geschilder habe. Wenn nicht, muss ich wohl ein bischen mehr Quellcode geben.
Ich freue mich wirklich über jede Hilfe...
Danke im vorraus
Mahlzeit,
Man soll sowohl die Mitglieder einzeln per Checkbox selektieren können, aber auch das komplette Team mit einer Checkbox, was soweit auch noch kein Problem darstellt, solange ich die Team-NAmen fest bestimme.
Den solltest Du in jedem Fall fest bestimmen.
<input type="checkbox" name="all" onclick="select_all_mitglieder(this.checked, 'team1[]')">
while ($x<$mitglieder){
echo"<input type="checkbox" name="team1[]" value="$mitglied[$x]">$mitglied[$x]";
$x++;
}
<input type="checkbox" name="all" onclick="select_all_mitglieder(this.checked, 'team2[]')">
while ($x<$mitglieder){
echo"<input type="checkbox" name="team2[]" value="$mitglied[$x]">$mitglied[$x]";
$x++;
}
Anhand Deines Codes vermute ich, dass Du PHP benutzt?
Ich würde das ungefähr folgendermaßen machen:
/*
* In $teams müsste die Anzahl der Teams stehen
*/
for ($i = 1; $i <= $teams; $i++) {
/*
* Allerlei tun, z.B. $mitglieder mit der Anzahl der Mitglieder dieses Teams füllen, Mitglieder in Array $mitglied füllen usw.
*/
printf('<input type="checkbox" name="team%d_all" onclick="select_all_mitglieder(this.checked, \'team%d[]\');">', $i, $i);
$x = 1;
while ($x < $mitglieder) {
printf('<input type="checkbox" id="team%d_%d" name="team%d[]" value="%s"><label for="team%d_%d">%s</label>', $i, $x, $i, htmlspecialchars($mitglied[$x]), $i, $x, htmlspecialchars($mitglied[$x]));
$x++;
}
Mein Problem ist es aber, dass ich nicht weiß wieviele Teams es werden können.
Macht doch nichts - dafür gibt's doch Schleifen.
Und das bekomme ich irgendwie nicht hin. Sobald ich statt "team1[]" "team$x[]" oder "$variable[]" mache, schießt der mir nen Fehler raus.
1. Wer ist "der"?
2. Welchen Fehler "schießt" der raus?
3. Wieso enthältst Du uns diesen vor? Bist Du der irrigen Annahme, jeder Teilnehmer dieses Forums nennt eine funktionierende Glaskugel sein eigen?
Ich habe schon einges ausprobiert, finde aber leider nicht die Lösung.
Wir auch nur mit Raten und viel Glück - weil Du uns elementare Informationen vorenthältst.
Ich hoffe, dass ich einigermaßen nachvollziebar mein Problem geschilder habe. Wenn nicht, muss ich wohl ein bischen mehr Quellcode geben.
Nein. Ja.
MfG,
EKKi
Moin!
<input type="checkbox" id="team%d_%d" name="team%d[]" value="%s"><label for="team%d_%d">%s</label>
Wenn du das <label> gleich um das Input-Feld drumrumlegst, kannst du dir die nervige ID sparen:
<label><input type="checkbox" name="team%d[]" value="%s">%s</label>
- Sven Rautenberg
Danke, das probiere ich gleich mal aus...
Dank an Dich
Gruß Björn
Mahlzeit,
<input type="checkbox" id="team%d_%d" name="team%d[]" value="%s"><label for="team%d_%d">%s</label>
Wenn du das <label> gleich um das Input-Feld drumrumlegst, kannst du dir die nervige ID sparen:
<label><input type="checkbox" name="team%d[]" value="%s">%s</label>
Ich meinte, ich hätte mal gelesen, dass es mit dieser Art der Verschachtelung Probleme gab (in bestimmten Browsern? Ich weiß es nicht mehr) - deshalb habe ich immer die Schreibweise mit IDs benutzt ...
MfG,
EKKi
Moin!
Wenn du das <label> gleich um das Input-Feld drumrumlegst, kannst du dir die nervige ID sparen:
Ich meinte, ich hätte mal gelesen, dass es mit dieser Art der Verschachtelung Probleme gab (in bestimmten Browsern? Ich weiß es nicht mehr) - deshalb habe ich immer die Schreibweise mit IDs benutzt ...
Davon habe ich noch nie was gehört - was natürlich nichts heißen muss. :)
- Sven Rautenberg
[latex]Mae govannen![/latex]
Wenn du das <label> gleich um das Input-Feld drumrumlegst, kannst du dir die nervige ID sparen:
Ich meinte, ich hätte mal gelesen, dass es mit dieser Art der Verschachtelung Probleme gab (in bestimmten Browsern? Ich weiß es nicht mehr) - deshalb habe ich immer die Schreibweise mit IDs benutzt ...
Davon habe ich noch nie was gehört - was natürlich nichts heißen muss. :)
Handelt sich auch auch nur um IE 5 & IE 6, also eigentlich nichts wichtiges
Cü,
Kai
Funzt auch wunderbar - Prima.
Krass!!
Ich bin echt beeindruckt.
Das funzt genauso, wie ich es wollte.
Waren also Doch genug Informationen für Dich ;)
Vielen, vielen Dank für Deine Hilfe
Gruß und alles Gute für Dich und Deine Lieben
Björn
Mahlzeit,
Waren also Doch genug Informationen für Dich ;)
Wie ich schrieb: "auch nur mit Raten und viel Glück" ... :-)
Vielen, vielen Dank für Deine Hilfe
Kein Problem, gern geschehen.
MfG,
EKKi