2009-07-29 8 views
0

Entschuldigung, wenn das ziemlich vage ist. Ich bin glücklich, weitere Informationen zu geben, sollte es benötigt werden.Erhalte eine ID für ein Formularelement, nachdem seine Klasse eine JQuery-Änderungsfunktion ausgelöst hat.

Ich arbeite auf einer Webseite, die die jquery change() -Funktion verwendet, um Aktualisierungen auf der Seite in Bezug auf die Benutzereingabe durchzuführen, zum Beispiel die Farbe eines div je nachdem, was der Benutzer eingibt. Jeder Formulareintrag ist Teil der Klasse "formitems". Jedes Mal, wenn etwas dieser Klasse sich ändert, wird die Aktualisierung der Seite ausgelöst.

Allerdings würde ich gerne ein Lade-Symbol neben dem spezifischen Formularelement anzeigen, das der Benutzer geändert hat.Ich weiß, ich könnte eine andere Änderungsfunktion für jedes "formitem" Mitglied festlegen, aber das wäre zu ineffizient.Ist da a Möglichkeit, die ID zu bestimmen, von der "formitem" Mitglied die Änderung ausgelöst hat?

In einfachen Worten, ich weiß, welche Klasse es getan hat, ich muss nur wissen, welches Mitglied der Klasse hat.

Wie ich sagte, ich weiß, dass dies vage sein kann, so bin ich glücklich, alle Fragen zu beantworten.

+0

können Sie einen Code schreiben? deine jquery und dein html? – Jason

+0

Entschuldigung die Codes in work.wont davor bis morgen sein: -/ – kyassuru

Antwort

2

Im Zusammenhang mit der Callback-Funktion zu ändern, "this" ist das Element, das das Ereignis ausgelöst hat:

$('.formitems').change(function(){ 
    var id = $(this).attr('id'); // or simply this.id; 
}); 

prüft diese example.

+0

Gerade versuchte dies, es funktionierte perfekt. Vielen Dank – kyassuru

0

Nicht möglich, da Änderungsereignisse nicht platzen, sodass Sie die Ereignisdelegierung nicht verwenden können. Daher müssen Sie für jedes Element einzelne Änderungsereignisse hinzufügen.

Verwandte Themen