Cheatah: checkbox mit onclick->$(this) statt id selektieren klappt nicht

Beitrag lesen

Hi,

<input type="checkbox" onclick="test(var1)">
function test() {
      if($this).is(':checked')) {
            alert("Yipiii!"+var1);
      }
}

woah, hier geht mit Variablen und Werten so einiges durcheinander.

Ich dachte halt, dass wenn ich die Funktion innerhalb eines Elementes aufrufe, ich in der Funktion mit $(this) darauf referenzieren kann. Also dass sich in dem Beispiel oben das $(this) automatisch auf das input-element bezieht.

Sofern Du in jQuery-Methoden Funktionen referenzierst - beispielsweise mittels jQuery.each(function() { ... }) - wird der Kontext (also das this) innerhalb der jeweiligen Funktion durch jQuery erzeugt. Das könntest Du hier auch machen, allerdings willst Du den entsprechenden Code dazu gar nicht erst sehen. Verwende einfach this bei der _Übergabe_, benenne es bei der _Entgegennahme_ im Funktionskopf, und verwende die hiermit benannte Variable innerhalb der Funktion. An $(this) ist nichts Besonderes, es kann auch $(foobar) heißen, wenn eine Variable namens foobar existiert.

Das meinte Beat ja auch, nur dass ich es initialisieren muß. also onclick=test(this). Aber wie bekomm ich dann noch meine var1 mit unter?

Mit Komma.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes