Der folgende Beitrag wurde am 26. 04. 2007, 14:28 Uhr von Alex veröffentlicht.
Hallo,
habe folgenden Code erstellt:
var anz = 10;
for(var i=1; i<=anz; i++)
{
var c = document.createElement('input');
c.type = 'checkbox';
c.id = 'ck_' + i;
var t = document.createTextNode('Check ' + i);
var s = document.createElement('span');
s.onclick = function(){ ckb(c) };
s.appendChild(t);
document.getElementById('div');
}
function ckb(ck)
{
ck.checked = !ck.checked;
}
Kurz erklärt: es soll beim Klick auf den Text jeweils der dazugehörige Checkbox aktiviert/deaktiviert werden.
Problem ist, dass immer nur der letzte Checkbox hier angesteuert wird, egal welchen Text ich anklicke. Ist das normal? Wie muss ich das sonst machen?
Vielen Dank!
Alex
Der folgende Beitrag wurde am 26. 04. 2007, 14:31 Uhr von wahsaga veröffentlicht.
hi,
> Kurz erklärt: es soll beim Klick auf den Text jeweils der dazugehörige Checkbox aktiviert/deaktiviert werden.
Wozu Javascript?
Label existieren.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 15:08 Uhr von Alex veröffentlicht.
> Wozu Javascript?
> Label existieren.
eine lange Geschichte...
Der folgende Beitrag wurde am 26. 04. 2007, 14:33 Uhr von Struppi veröffentlicht.
> Problem ist, dass immer nur der letzte Checkbox hier angesteuert wird, egal welchen Text ich anklicke. Ist das normal? Wie muss ich das sonst machen?
Das Problem ist das in deinem closure die Variabel c immer den Inhalt des letzten Inputelement hat.
Die einfachste Lösung ist, dem Element das den klick ausführt den gewünschtne Wert als Eigenschaft mitgeben.s.c = c;
s.onclick = function(){ ckb(this.c) };
Struppi.
--
Javascript ist toll (Perl auch!)
Der folgende Beitrag wurde am 26. 04. 2007, 15:06 Uhr von Alex veröffentlicht.
> Das Problem ist das in deinem closure die Variabel c immer den Inhalt des letzten Inputelement hat.
ist das nicht egal? Es sind doch 10 CheckBoxen und 10 TextNode. Alle 10 TextNode's greifen hier nur auf den letzten CheckBox!? Eine Referenz im Spiel? Wie kann ich das umgehen?
>
> Die einfachste Lösung ist, dem Element das den klick ausführt den gewünschtne Wert als Eigenschaft mitgeben.
>
> s.c = c;
> s.onclick = function(){ ckb(this.c) };
>
Geht nicht :(
Der folgende Beitrag wurde am 26. 04. 2007, 15:18 Uhr von wahsaga veröffentlicht.
hi,
> > Das Problem ist das in deinem closure die Variabel c immer den Inhalt des letzten Inputelement hat.
> ist das nicht egal?
Was soll die blöde Frage?
Du hast doch gemerkt, dass es nicht egal ist.
> Es sind doch 10 CheckBoxen und 10 TextNode. Alle 10 TextNode's greifen hier nur auf den letzten CheckBox!? Eine Referenz im Spiel?
Nein, ein Closure - das Stichwort nannte Struppi bereits.
> Wie kann ich das umgehen?
Auch einen Alternativvorschlag machte Struppi bereits.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 15:29 Uhr von Alex veröffentlicht.
> hi,
>
> > > Das Problem ist das in deinem closure die Variabel c immer den Inhalt des letzten Inputelement hat.
> > ist das nicht egal?
>
> Was soll die blöde Frage?
> Du hast doch gemerkt, dass es nicht egal ist.
>
> > Es sind doch 10 CheckBoxen und 10 TextNode. Alle 10 TextNode's greifen hier nur auf den letzten CheckBox!? Eine Referenz im Spiel?
>
> Nein, ein Closure - das Stichwort nannte Struppi bereits.
>
> > Wie kann ich das umgehen?
>
> Auch einen Alternativvorschlag machte Struppi bereits.
>
> gruß,
> wahsaga
>
>
Blödes HTML :( Ich mag es nicht leiden.
@wahsaga
warum denn nicht gleich so? Muß man immer zuerst auf die Nase fallen?
Danke!
Der folgende Beitrag wurde am 26. 04. 2007, 15:39 Uhr von wahsaga veröffentlicht.
hi,
bitte zitiere vernünftig,
> warum denn nicht gleich so?
Warum nicht gleich _was_ _wie_?
> Muß man immer zuerst auf die Nase fallen?
Ich muss nicht.
Ob du musst, weiss ich nicht.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 15:52 Uhr von Alex veröffentlicht.
> hi,
>
> bitte zitiere vernünftig,
das war keine Zitat. Ich habe dich gemeint (@wahsaga) also mit @
> > warum denn nicht gleich so?
>
> Warum nicht gleich _was_ _wie_?
muss man die Hilfestellung sich erst erkaufen/erbetteln? Warum schreibst du nicht gleich, was man falsch macht und wie es gemacht werden soll? Das hier:
»»Wozu Javascript?
»»Label existieren.
hilft mir nicht wirklich weiter... Wenn, dann sollte man diese "kurz und knapp" lieber gleicht sein lassen, oder?
> > Muß man immer zuerst auf die Nase fallen?
>
> Ich muss nicht.
> Ob du musst, weiss ich nicht.
Muß ich nicht :). Manche Leute lassen einen auf die Nase fallen...
Der folgende Beitrag wurde am 26. 04. 2007, 16:05 Uhr von wahsaga veröffentlicht.
hi,
> > bitte zitiere vernünftig,
> das war keine Zitat. Ich habe dich gemeint (@wahsaga) also mit @
Abgesehen davon, dass wir uns hier in einem Forum und nicht in einem Board befinden, @-Ansprachen hier also unnötig sind, wenn man auf die richtigen Postings antwortet - bezog ich mich auf dein sinnloses Fullquote.
> muss man die Hilfestellung sich erst erkaufen/erbetteln?
IdR. nicht, aber -
> Warum schreibst du nicht gleich, was man falsch macht und wie es gemacht werden soll? Das hier:
> »»Wozu Javascript?
> »»Label existieren.
> hilft mir nicht wirklich weiter...
Ich kann doch im Voraus nicht wissen, dass du _so_ wenig Ahnung von HTML hast, dass dir Label für Formularelemente nicht bekannt sind.
Dass dir ihre Existenz kurzzeitig entfallen sein könnte, habe ich noch in betracht gezogen - und dich deshalb noch mal auf diese hingewiesen, inklusive Verlinkung.
> Wenn, dann sollte man diese "kurz und knapp" lieber gleicht sein lassen, oder?
Die verlinkte Seite erklärt recht detailiert, was man mit Labels erreichen kann - wenn du dir das aufmerksam durchgelesen hättest, hättest du m.E. erkennen sollen, dass diese dein Problem bereits lösen könnten, ohne das du per Javascript auf irgendwelche Events reagieren musst.
Wenn du aber nicht mal bereit bist, dir einen hilfreichen Link, der dir präsentiert wird, halbwegs aufmerksam durchzuarbeiten - dann stimme ich dir bezüglich des lieber-gleich-bleiben-Lassens natürlich zu: Dann lass' es halt sein.
Und irgendwelche Hinweise auf "lange Geschichten", die sich letztendlich als völliger Unfug herausstellen dürften, kannst du dir auch sparen.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 16:21 Uhr von Alex veröffentlicht.
> Ich kann doch im Voraus nicht wissen, dass du _so_ wenig Ahnung von HTML hast, dass dir Label für Formularelemente nicht bekannt sind.
das sieht man doch, wenn ich Labels kennen würde, würde ich nicht auf JS zurückgreifen. Ich sitze schon 3 Stunden an diesen Blödsinn. Und ich muß arbeiten, also Vorankommen. Ich werde dafür bezahlt und das nicht wenig. Meinst du ich mache es aus Spass?
> Dass dir ihre Existenz kurzzeitig entfallen sein könnte, habe ich noch in betracht gezogen - und dich deshalb noch mal auf diese hingewiesen, inklusive Verlinkung.
>
> > Wenn, dann sollte man diese "kurz und knapp" lieber gleicht sein lassen, oder?
>
> Die verlinkte Seite erklärt recht detailiert, was man mit Labels erreichen kann - wenn du dir das aufmerksam durchgelesen hättest, hättest du m.E. erkennen sollen, dass diese dein Problem bereits lösen könnten, ohne das du per Javascript auf irgendwelche Events reagieren musst.
>
> Wenn du aber nicht mal bereit bist, dir einen hilfreichen Link, der dir präsentiert wird, halbwegs aufmerksam durchzuarbeiten - dann stimme ich dir bezüglich des lieber-gleich-bleiben-Lassens natürlich zu: Dann lass' es halt sein.
Wenn ich nicht weiß, was Labels sind und nur eine knappe Antwort aus 4 Wörtern kriege, komme ich mir verar...t vor. Meinst du ich lese mir dann die Anleitung über Labels durch. Außerden wie gesagt, ich habe keine Zeit für jegliche Lektüren. Ich muß vorankommen. Darüber hinaus ist HTML nicht mein Job. Ich muß nur eine einzige Vorlage erstellen und gut is... Danach brauche ich das nicht mehr.
Der folgende Beitrag wurde am 26. 04. 2007, 16:25 Uhr von wahsaga veröffentlicht.
hi,
> > Ich kann doch im Voraus nicht wissen, dass du _so_ wenig Ahnung von HTML hast, dass dir Label für Formularelemente nicht bekannt sind.
> das sieht man doch, wenn ich Labels kennen würde, würde ich nicht auf JS zurückgreifen.
Mit Javascript spielen die Leute aus den verschiedensten Beweggründen herum - und nicht immer aus sinnvollen.
> Ich sitze schon 3 Stunden an diesen Blödsinn. Und ich muß arbeiten, also Vorankommen. Ich werde dafür bezahlt und das nicht wenig.
Du wirst für etwas bezahlt, von dem du so wenig Ahnung hast?
Meinen Glückwunsch.
Allerding solltest du dich dann m.E. an kostenpflichtigen Support wenden, wenn du damit nicht zurechtkommst, und auch nicht bereit bist, dir mal eben eine Erklärung durchzulesen.
> Wenn ich nicht weiß, was Labels sind und nur eine knappe Antwort aus 4 Wörtern kriege, komme ich mir verar...t vor.
Und ich mir, wenn ich dir hier als Antwort einen erklärenden Link poste -
> Meinst du ich lese mir dann die Anleitung über Labels durch.
- und du fauler S*** dann noch nicht mal bereit bist, dir das kurz durchzulesen.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 16:36 Uhr von Alex veröffentlicht.
> > Ich sitze schon 3 Stunden an diesen Blödsinn. Und ich muß arbeiten, also Vorankommen. Ich werde dafür bezahlt und das nicht wenig.
>
> Du wirst für etwas bezahlt, von dem du so wenig Ahnung hast?
> Meinen Glückwunsch.
Wer lesen kann - ist klar im Vorteil. Ich werde bezahlt, eben für was Anderes und nicht für dieses Sch... HTML/JS
> Allerding solltest du dich dann m.E. an kostenpflichtigen Support wenden, wenn du damit nicht zurechtkommst, und auch nicht bereit bist, dir mal eben eine Erklärung durchzulesen.
Welche Erklärung? Hast du die selber gelesen? Da sitze ich noch 3 Stunden dran, bis ich alles durchgelesen habe. Weniger ist oft mehr...
> > Wenn ich nicht weiß, was Labels sind und nur eine knappe Antwort aus 4 Wörtern kriege, komme ich mir verar...t vor.
>
> Und ich mir, wenn ich dir hier als Antwort einen erklärenden Link poste -
>
> > Meinst du ich lese mir dann die Anleitung über Labels durch.
>
> - und du fauler S*** dann noch nicht mal bereit bist, dir das kurz durchzulesen.
Es ist gut jetzt. Ich habe keinen Bock auf diese Diskussion. Wenn du Zeit dafür hast hier eine Sinnlose Diskussion zu führen, freue ich mich für dich. Du hast ja vielleicht Langeweile, anstatt vernünftig zu helfen. Meine Güte
Der folgende Beitrag wurde am 26. 04. 2007, 16:46 Uhr von wahsaga veröffentlicht.
hi,
> Welche Erklärung? Hast du die selber gelesen? Da sitze ich noch 3 Stunden dran, bis ich alles durchgelesen habe.
Wenn du so langsam liest, ist das nicht mein Problem.
> Weniger ist oft mehr...
So wenig, wie du bereit bist, selber zu leisten - ist das in meinen Augen Schnorrerei.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 27. 04. 2007, 08:55 Uhr von Siechfred veröffentlicht.
> Ich werde dafür bezahlt und das nicht wenig.
Schön, wohin darf ich meine Rechnung für http://forum.de.selfhtml.org/?t=151274&m=983771 schicken?
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Der folgende Beitrag wurde am 26. 04. 2007, 15:30 Uhr von Struppi veröffentlicht.
> > Die einfachste Lösung ist, dem Element das den klick ausführt den gewünschtne Wert als Eigenschaft mitgeben.
> >
> > s.c = c;
> > s.onclick = function(){ ckb(this.c) };
> >
> Geht nicht :(
geht wohl.
Struppi.
--
Javascript ist toll (Perl auch!)
Der folgende Beitrag wurde am 26. 04. 2007, 15:36 Uhr von Alex veröffentlicht.
> > > Die einfachste Lösung ist, dem Element das den klick ausführt den gewünschtne Wert als Eigenschaft mitgeben.
> > >
> > > s.c = c;
> > > s.onclick = function(){ ckb(this.c) };
> > >
> > Geht nicht :(
>
> geht wohl.
Beim Anklicken: 'undefined' ist Null oder kein Objekt.
Was ist 'undefined'?
Alex
Der folgende Beitrag wurde am 26. 04. 2007, 15:37 Uhr von Struppi veröffentlicht.
> > geht wohl.
> Beim Anklicken: 'undefined' ist Null oder kein Objekt.
>
> Was ist 'undefined'?
Keine Ahnung, irgendwas machst du falsch nur was?
Struppi.
--
Javascript ist toll (Perl auch!)
Der folgende Beitrag wurde am 26. 04. 2007, 15:45 Uhr von Alex veröffentlicht.
> > > geht wohl.
> > Beim Anklicken: 'undefined' ist Null oder kein Objekt.
> >
> > Was ist 'undefined'?
>
> Keine Ahnung, irgendwas machst du falsch nur was?
Das wüsste ich auch gern :) Mache gerade mein Lernkurs mit HTML u. JS nach dem Motto: Learning by Doing.
Beim Ankliken auf ein Button werden im div-Abschnitt 10 "dieser" Checkboxen. Was kann man hier falsch machen?
Alex
Der folgende Beitrag wurde am 26. 04. 2007, 17:29 Uhr von Struppi veröffentlicht.
> > Keine Ahnung, irgendwas machst du falsch nur was?
> Das wüsste ich auch gern :) Mache gerade mein Lernkurs mit HTML u. JS nach dem Motto: Learning by Doing.
>
> Beim Ankliken auf ein Button werden im div-Abschnitt 10 "dieser" Checkboxen. Was kann man hier falsch machen?
Eigentlich nichts.
Struppi.
--
Javascript ist toll (Perl auch!)
Der folgende Beitrag wurde am 26. 04. 2007, 14:47 Uhr von Siechfred veröffentlicht.
> Kurz erklärt: es soll beim Klick auf den Text jeweils der dazugehörige Checkbox aktiviert/deaktiviert werden.
Hänge mit Hilfe der geeigneten DOM-Methoden statt des span- ein label-Element ein.
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Der folgende Beitrag wurde am 26. 04. 2007, 15:09 Uhr von Alex veröffentlicht.
> > Kurz erklärt: es soll beim Klick auf den Text jeweils der dazugehörige Checkbox aktiviert/deaktiviert werden.
>
> Hänge mit Hilfe der geeigneten DOM-Methoden statt des span- ein label-Element ein.
Warum nicht span?
Der folgende Beitrag wurde am 26. 04. 2007, 15:20 Uhr von wahsaga veröffentlicht.
hi,
> > Hänge mit Hilfe der geeigneten DOM-Methoden statt des span- ein label-Element ein.
> Warum nicht span?
Weil du mit Label gar kein Javascript mehr bräuchtest, um per Klick auf den Text den Zustand der Checkbox zu ändern.
Aber einfach machen willst du es dir ja wegen irgendeiner ominösen langen Geschichte offenbar nicht ...
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 26. 04. 2007, 15:33 Uhr von Siechfred veröffentlicht.
> > Hänge mit Hilfe der geeigneten DOM-Methoden statt des span- ein label-Element ein.
> Warum nicht span?
Siehe wahsaga. Ansonsten hier ein kleiner Denkanstoß:var parentElem = document.getElementById('elternelement');
var anz = 10;
for(var i=1; i<=anz; i++) {
var myLabel = document.createElement('label');
myLabel.htmlFor = 'ck_' + i;
var labeltext = document.createTextNode('Check ' + i);
myLabel.appendChild(labeltext);
parentElem.appendChild(myLabel);
var myCheckbox = document.createElement('input');
myCheckbox.type = 'checkbox';
myCeckbox.id = 'ck_' + i;
parentElem.appendChild(myCheckbox);
}
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Der folgende Beitrag wurde am 26. 04. 2007, 15:56 Uhr von Alex veröffentlicht.
> Siehe wahsaga. Ansonsten hier ein kleiner Denkanstoß:
>
> var parentElem = document.getElementById('elternelement');
> var anz = 10;
> for(var i=1; i<=anz; i++) {
> var myLabel = document.createElement('label');
> myLabel.htmlFor = 'ck_' + i;
> var labeltext = document.createTextNode('Check ' + i);
> myLabel.appendChild(labeltext);
> parentElem.appendChild(myLabel);
> var myCheckbox = document.createElement('input');
> myCheckbox.type = 'checkbox';
> myCeckbox.id = 'ck_' + i;
> parentElem.appendChild(myCheckbox);
> }
>
> Siechfred
Vielen Dank! Das nennt man Hilfe ;) Ich schulde dir was...
Alex
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4