2016-04-21 8 views
0

ich ein Formular, wo ich das OnChange Verfahren wieWie ein Delegierter an, wenn ein neuer Rekord Hinzufügen

befestigen
$(document).ready(function() { 
    $('#fieldId').change(function() { 
    ... 
    } 
} 

Aber ich habe den Fall, wenn ich einen neuen Datensatz mit der Id „fieldID“ von einem hinzufügen Funktion als

Aber die Änderung wird nicht ausgelöst, wenn ich das neu hinzugefügte Feld ändern. Kann mir jemand mit einer Idee helfen?

Danke.

+0

Verwenden Sie nicht die gleiche 'id' für mehrere Elemente (auch wenn dynamisch erzeugt) – haim770

Antwort

2

Ändern Sie den onchange Ereignis-Listener:

$('body').on('change', '#fieldId', function() { 
    // ... 
} 

Sie können den ‚Körper‘ mit jedem Behälter ersetzen, die dynamisch hinzugefügt DOM-Element wickelt. Auf diese Weise delegieren Sie das Ereignis an vorhandene oder noch nicht vorhandene Elemente.

+0

Der bessere Ansatz wäre, so nah wie möglich an die Elemente zu binden (normalerweise an ihr Containerelement) und nicht an "Körper". – haim770

+0

Wunderbar! Vielen Dank! –

+0

Da ich seine DOM-Struktur nicht kenne, habe ich 'body' angegeben und auch unten gesagt, dass alles, was er braucht, ein Container um das DOM-Element ist – Jumpa

Verwandte Themen