Jquery bind()-Kombination
Jason
- javascript
Salut!
Ich habe leider keine Ahnung wie ich
$("INPUT[TYPE="TEXT"]).bind('keyup',function(){ ...
$("INPUT[TYPE="CHECKBOX"]).bind('click',function(){ ...
in eine Abfrage packen soll :-)
Jason
Ich habe leider keine Ahnung wie ich [...] in eine Abfrage packen soll :-)
Dann verbessere deine Ahnung und lese die Dokumentation von bind().
Hallo Suit,
Dann verbessere deine Ahnung und lese die Dokumentation von bind().
Danke für den Link, aber ich habe schon alles versucht!
Das Problem ist: NUR bei Checkboxen und Radios soll der .click-Trigger greifen und NUR bei Text-Input-Feldern der .keyup-Trigger.
Ich bekomm das einfach nicht hin!
Würde mich über einen Tipp freuen.
Jason
Das Problem ist: NUR bei Checkboxen und Radios soll der .click-Trigger greifen und NUR bei Text-Input-Feldern der .keyup-Trigger.
Was ist jetzt dein eigentliches Problem - mehrere unterschiedliche Events mit bind() dranhängen oder einen Selektor erstellen, der dir mehrere unterschiedliche Elemente selektiert?
Ich bekomm das einfach nicht hin!
Das sagtest du bereits.
Würde mich über einen Tipp freuen.
Nimm dir einen Zettel und Stift (wahlweise auch dieses Textfeld und die Tastatur) und schreibe dein Vorhaben (nicht dein Problem!) übersichtlich zusammen: Was soll an welcher Stelle passieren? Denke dabei nicht an irgendwelche programmiertechnischen Probleme - verfasse es so, als hättest du keine Ahnung von solchen Dingen.
Ich jedenfalls hab' keine Ahnung, was du genau willst.
Wenn du das geschafft hast, übersetze dies in einen Algorithmus bzw. eine Prozedur.
Das Problem ist: NUR bei Checkboxen und Radios soll der .click-Trigger greifen und NUR bei Text-Input-Feldern der .keyup-Trigger.
$("INPUT[TYPE="TEXT"]).bind('keyup',function(){ ...
$("INPUT[TYPE="CHECKBOX"]).bind('click',function(){ ...
Ich jedenfalls hab' keine Ahnung, was du genau willst.
Ich weis nicht wie die Synthax es vor sieht damit ich eine Funktion zu 2 Verschiedenen Trigger ausführen kann.
Quasi
$("INPUT[TYPE="TEXT"]).bind('keyup',$("INPUT[TYPE="CHECKBOX"]).bind('click',function(){ ...
Wie soll ich das noch besser erklären??
Jason
Ich weis nicht wie die Synthax es vor sieht damit ich eine Funktion zu 2 Verschiedenen Trigger ausführen kann.
Beschäftige dich nicht mit der Syntax sondern in erster Linie mit dem Problem ansich: Was willst du eigentlich erreichen (vergiss das technische).
Wie soll ich das noch besser erklären??
Nochmal: erkläre das Problem - nicht deine dir unbekannte technische Lösung.
Ich weis nicht wie die Synthax es vor sieht damit ich eine Funktion zu 2 Verschiedenen Trigger ausführen kann.
Du schreibst eine Funktion
function handler()
{
}
und registrierst sie als Eventhandler
$("INPUT[TYPE="TEXT"]).bind('keyup',handler);
$("INPUT[TYPE="CHECKBOX"]).bind('click',handler);
Hoi.
Du schreibst eine Funktion
Das wollte ich eigentlich vermeiden.
und registrierst sie als Eventhandler
$("INPUT[TYPE="TEXT"]).bind('keyup',handler);
$("INPUT[TYPE="CHECKBOX"]).bind('click',handler);
Wie übergebe ich die Variable this?
Jason
Wie übergebe ich die Variable this?
Beschäftige dich mit den Grundlagen der von dir verwendeten Sprache.
Das wollte ich eigentlich vermeiden.
Warum?
Wie übergebe ich die Variable this?
Welches?
Das wollte ich eigentlich vermeiden.
Warum?
Da ich jetzt genau die Probleme habe die ich mir ersparen wollte. nämlich mir die Gedanken zu machen wie es funktionieren KÖNNTE und mir bestimmt kein Buch auf die schnelle kaufen werde um nach zu lesen wie sich das jemand bei Javascript/Jquery gedacht hat.
Wie übergebe ich die Variable this?
Welches?
Was welches?
$('INPUT[TYPE="TEXT"]').bind('keyup',check(this));
$('INPUT[TYPE="CHECKBOX"]').bind('click',check(this));
function check(hndl){
result = $(hndl).closest('TBODY');
// hndl != this => Das ist mein Problem!
}
und diverse andere Varianten, die ich schon versucht habe bringes auch nicht. Und gegooglet hab ich auch schon. Ich Verzweifle an einer sehr wahrscheinlich einfachen Sache!
So bitte ich euch nun um Gnade, Veratet mir die Lösung zu meinem Problem ohne mich belehren zu Versuchen.
Jason
...Nein.. Das Problem liegt irgendwie hier:
('INPUT[TYPE="TEXT"]')
Warum macht der Trigger nicht was er soll?
jason
Das wollte ich eigentlich vermeiden.
Warum?
Da ich jetzt genau die Probleme habe die ich mir ersparen wollte. nämlich mir die Gedanken zu machen wie es funktionieren KÖNNTE und mir bestimmt kein Buch auf die schnelle kaufen werde um nach zu lesen wie sich das jemand bei Javascript/Jquery gedacht hat.
Das verstehe ich nicht.
Wie übergebe ich die Variable this?
Welches?
Was welches?
Welches Objekt wilst du mit this ansprechen? Stehen diese Zuweisungen in einer Funktion, die durch ein Objekt (ausser window) aufgerufen wird?
$('INPUT[TYPE="TEXT"]').bind('keyup',check(this));
$('INPUT[TYPE="CHECKBOX"]').bind('click',check(this));
function check(hndl){
result = $(hndl).closest('TBODY');
// hndl != this => Das ist mein Problem!
}
>
> und diverse andere Varianten, die ich schon versucht habe bringes auch nicht. Und gegooglet hab ich auch schon. Ich Verzweifle an einer sehr wahrscheinlich einfachen Sache!
check(this) ist ein Funktionsaufruf.
Das verstehe ich nicht.
Jason versteht anscheinend nicht, dass es _essentiell_ ist, eine Problembeschreibung zu erstellen, Damit andere und man auch selbst versteht, was man eigentlich machen will. Im Fachjargon nennt man sowas "Pflichtenheft" - auch wenns nur 10 Zeilen sind. Etwas über das Knie abbrechen (also "gleich drauf losprogrammieren") ist nicht zielführend - außer man weiß genau, was man tut.
Er weiß nicht wie er "es" machen soll, wobei wir nichtmal wissen, was "es" ist - du hast geraten, ich habe geraten - ob es "das" wirklich ist, wissen wir aber nicht - denn wir drehen uns im Kreis (wenn du den Threadverlauf verfolgst).
Welches Objekt wilst du mit this ansprechen? Stehen diese Zuweisungen in einer Funktion, die durch ein Objekt (ausser window) aufgerufen wird?
Siehe oben - es geht primär um ein logisches Problem mit dem Vorhaben - nicht um die programmiertechnische Umsetzung - diese ist sehr einfach, wenn man weiß was eigentlich passieren soll. Mehr als irgendwelche fachlich inkorrekten Buzzwords (auf deren Verzicht ich explizit hingewiesen habe) lese ich jedenfalls nicht.
[...] Ich Verzweifle an einer sehr wahrscheinlich einfachen Sache!
check(this) ist ein Funktionsaufruf.
Again: Jason schafft es nicht, die "Sache" zu beschreiben.
Ich ziehe mich zurück, sofern keine ordentliche Beschreibung geliefert wird - auf Ratespiele, in denen immer wieder dieselben zwei Zeilen Code mit irgendwelchen wirren Buzzwords geliefert werden, habe ich keine Lust.
Es wäre so einfach.
Ich will dass "foo" passiert wenn ich "baz" mache. Dann soll "bar" passieren, nicht aber wenn "qux" zutrifft.
Das als einfaches Flow-Chart aufzuschreiben sollte bei der vermuteten komplexität etwa < 5 Minuten dauern. Aktuell brunzen wir schon stundenlang herum ohne _irgendwas_ zu erreichen.
Für mich also vorläufig EOD.
Again: Jason schafft es nicht, die "Sache" zu beschreiben.
oder Thomas oder Martin tummelt sich auch schon in anderen Foren , mit genau diesem Problemen.
Struppi.