2015-07-27 18 views
5

Korzystając z wtyczki select2.js v4, jak ustawić domyślną wybraną wartość, gdy korzystam z danych lokalnej tablicy dla źródła?Select2.js v4.0: jak ustawić domyślną wybraną wartość za pomocą lokalnego źródła danych tablicy?

na przykład z tym kodem

var data_names = [{ 
    id: 0, 
    text: "Henri", 
}, { 
    id: 1, 
    text: "John", 
}, { 
    id: 2, 
    text: "Victor", 
}, { 
    id: 3, 
    text: "Marie", 
}]; 

$('select').select2({ 
    data: data_names, 
}); 

Jak set id 3 jako domyślną wybrano wartość?

+0

$ ("# id") select2() select2 ("val", 'oneofthevaluehere')..; – cfprabhu

Odpowiedz

5
$('.select').select2({ 
     data: data_names, 
    }).select2("val",3); 
4

ten pracował dla mnie z V4.0.3

$('.select').select2({ 
    data: data_names, 
}) 
$('select').val(3); 
$('select').trigger('change.select2'); 
+0

To jest poprawna odpowiedź dla wersji 4. W zwięzły sposób możesz napisać '$ (" wybierz "). Val (3) .trigger (" zmień ")'. Użyj 'trigger ('change.select2')', aby powiadomić tylko Select2 o zmianie. Zobacz http://select2.github.io/options.html#what-events-does-select2-listen-for – Paul

0

Lepiej wysłać kolejny atrybut (wybrany w moim przypadku poniżej) wybrać i użyć go do ustawienia wartości domyślnej. Zrobiłem coś takiego jak poniżej -

var data_names = [{ 
    id: 0, 
    text: "Henri", 
}, { 
    id: 1, 
    text: "John", 
}, { 
    id: 2, 
    text: "Victor", 
}, { 
    id: 3, 
    text: "Marie", 
    selected: true 
}]; 

następnie zrobić

  $(".select").select2({ 
       data : data_names 
      }); 
      data_names.forEach(function(name){ 
       if(name.selected) { 
        $(".select").select2('val',name.id); 
       } 
      });