2016-08-03 25 views
0

Ich bin mit select2 jQuery-PluginSelect2 - ein Ereignis benötigen, wenn der Dropdown-Liste wird gebildet, nachdem die Drop-Down-Öffnung

I open Veranstaltung bin mit

var select2 = $('select').select2(); 
select2.on("select2:open",() => { 
    // I want to do some code here with $('.select2-results__option') 
    //$('.select2-results__option').size() is not equal to actual elements 
}); 

Dieses Ereignis wird ausgelöst, wenn wir das Drop-down klicken . aber ich bekomme die Dropdown-Elemente in diesem Fall nicht.

Ich habe 2000 Dropdown-Elemente. aber im offenen Fall verstehe ich das nicht. Gibt es ein Ereignis, um festzustellen, ob die Dropdown-Liste gefüllt ist oder nicht?

+0

Wenn Sie nur versuchen, die Elemente zu erhalten -http: //stackoverflow.com/questions/16187672/how-to-get-all-the-values-in-a-select2-dropdown – rashleighp

+0

@ rashleighp Ich benutze 'query' nicht auch ich brauche die Elemente nach dem' open event' – murli2308

Antwort

-1

Eine Möglichkeit zu finden, ob es Optionen gibt oder nicht, ist $('#select').find("option").length, die die Anzahl der Optionen gibt, die es gibt. Veranstaltung von select2 selbst (nicht DOM):

Fiddle Here

+0

Ich habe es bereits initialisiert. – murli2308

+0

@ murli2308 hinzugefügt eine Geige –

+0

Antwortet nicht auf Frage. – rashleighp

0

Try 'alle Ergebnisse' zu fangen. Hier

von Select2.prototype._registerEvents:

this.on('query', function (params) { 
    if (!self.isOpen()) { 
    self.trigger('open', {}); 
    } 

    this.dataAdapter.query(params, function (data) { 
    self.trigger('results:all', { 
     data: data, 
     query: params 
    }); 
    }); 
}); 

wie wir offen sehen ausgelöst, bevor die Abfrage dataadapter, das ist, weil Sie keine Möglichkeiten haben, in seinem Handler I Gast.

select2.on("results:all", function (args) { console.log(args.data);}); 
+0

Ich möchte einige Operationen an '$ ('. Select2-results__option')' Elementen im 'open' Event durchführen. Ich erhalte die Daten im 'select: open' Event, habe aber die' $ ('. Select2-results__option') 'Elemente nicht erhalten – murli2308