2017-12-07 8 views
1

Ich verwende Select2 für die Auswahl von Optionen in einem Formular.Select2 Call-Funktion mit Select2-Auswahl in Append-Daten

capture-1

Die Form ist dynamisch, so neue Zeilen hinzugefügt werden, wenn ich auf die Schaltfläche Hinzufügen klicken.

capture-2

Das Problem, das ich habe, ist, dass die Funktion nur auf der Anfangszeile arbeitet, und nicht auf den Nebenstrecken.

$('.select2').on("select2-selecting", function(e) { 
     alert(“HELLO”); 
}); 

Irgendwelche Ideen? Grüße

+0

Bitte senden Sie ein vollständiges Beispiel oder zumindest das dynamisch generierte HTML-Formular. – beaver

Antwort

0

Sie müssen die Ereignisbehandlung jedes Mal neu hinzufügen/aktivieren, wenn ein neues select2-Element zu DOM hinzugefügt wird.

Wickeln Sie es in eine Funktion und rufen Sie es auf, nachdem Sie Zeile hinzufügen.

function initSelectEvent(){ 
    // reset the previous event handlers on existing selects 
    $('.select2').off("select2-selecting") 
    // enable again including the newly added 
    $('.select2').on("select2-selecting", function(e) { 
     // your code to handle selected item 
    }); 
} 

/// in your code that adds the new row 

... 
initSelectEvent() 
+0

Schöne Lösung. Das hat funktioniert. Danke. – ismaeldc

+0

Gern geschehen, froh zu helfen –