2017-10-31 5 views
0

Ich habe eine Formulartabelle und jede Zeile enthält eine select2, ich möchte Daten von jeder dieser Daten und speichern sie in Array. Unten ist mein Code, den ich verwenden würde, nicht sicher, ob es der richtige Versuch ist.Select2 - Daten aus einer Schleife

// event on each form change re-get the values 
     $("#main").bind("keyup change", function (e) { 


         $('#form > tbody > tr').each(function (i) { 

     // get the data for each select 
     // add it to array and use after loop for some logic 
     // not sure if need this event here : select2:select 
     // also the selector might be not in the node of current tr? 

          $('.selector').on("select2:select", function (e) { 

           var data = $(this).select2('data'); 

           // push to array ?? data[0].custom_data 

          }); 

         }); 

    // logic from array would be here 

        }); 
+0

haben Sie diesen Code ausführen, wenn ja, welche Fehler haben Sie bekommen? Ein bisschen mehr Details würden helfen –

+0

naja es bringt mir nur eine Zeile:] –

Antwort

3

Sie müssen das gewünschte Element in der tr finden

ersetzen

$('.selector').on("select2:select", function (e) { 

          var data = $(this).select2('data'); 

          // push to array ?? data[0].custom_data 

         }); 

mit

var data = $(this).find('.selector').select2('data'); 
+0

A ja, dachte schon –

Verwandte Themen