JQuery Select2 eklentisini kullanarak belirli bir öğenin varsayılan/seçili değerini ayarlayabilmek istiyorum. Bunu gerçekleştirmek içinJQuery select2, listedeki bir seçenekden varsayılan değeri ayarlar mı?
cevap
Tek yön
$('select').select2().select2('val', $('.select2 option:eq(1)').val());
Yani temelde ilk eklenti ardından 'val' parametresini kullanarak varsayılan değeri belirtmek initalize ... olduğunu. Gerçek değer, belirtilen durumda, bu durumda # 1 alınır. Bu yüzden bu örnekte seçilen değer "bar" olacaktır.
<select class=".select2">
<option id="foo">Some Text</option>
<option id="bar">Other Text</option>
</select>
Bunun bir başkası için yararlı olmasını umarız.
Tek bir yol daha - select
işaretine selected = "selected"
özniteliği ekleyin ve üzerinde select2
numaralı telefonu arayın. Seçtiğiniz değeri almalı. Ekstra JavaScript'e gerek yok. Şunun gibi:
Biçimlendirme
<select class="select2">
<option id="foo">Some Text</option>
<option id="bar" selected="selected">Other Text</option>
</select>
JavaScript
$('select').select2(); //oh yes just this!
Bkz keman: http://jsfiddle.net/6hZFU/
Düzenleme: (Teşekkürler Jay Haase)
bu işe yaramazsa, bu gibi değeri temizlemek için, null
için select2
arasında val
özelliğini ayarlamayı deneyin: Bundan sonra
$('select').select2("val", null); //a lil' bit more :)
, "Whatever You Want"
için val
kuracak kadar basittir.
Yukarıdaki JavaScript’in benim için çalışmasını sağlayamadım. Çalışmak için aşağıdakileri yaptım: $ ("# id") select2 ("val", null); –
kodunun üstünde tek değer için iyi çalışıyor, ancak birden fazla değer durumunda sadece bir değer seçiliyor –
$("#id").select2("val", null); //this will not work..you can try
Aslında bu ... intialise yapmak ve sonra benim için çalıştı yolu bu da value..well belirlesin.
$("#id").select2().select2("val", null);
$("#id").select2().select2("val", 'oneofthevaluehere');
ajax select2 için çoklu seçim açılır menüsü bunu beğendim;
//preset element values
//topics is an array of format [{"id":"","text":""}, .....]
$(id).val(topics);
setTimeout(function(){
ajaxTopicDropdown(id,
2,location.origin+"/api for gettings topics/",
"Pick a topic", true, 5);
},1);
// ajaxtopicDropdown is dry fucntion to get topics for diffrent element and url
$('select').select2("val",null);
Lütfen daha fazla bilgi ile düzenleyin. Sadece kod ve "bunu dene" yanıtları önerilmez, çünkü bunlar aranabilir içerik içermez ve neden birinin "bunu denemesi" gerektiğini açıklamamaktadır. Bilgi için bir kaynak olmak için burada çaba sarf ediyoruz. –
yukarıdaki çözümleri benim için işe yaramadı, ama Select2 kendi web sitesinden bu kod yaptı:
$('select').val('US'); // Select the option with a value of 'US'
$('select').trigger('change'); // Notify any JS components that the value changed
Umut bu gibi mücadele ediyor herkes için yardımcı olur Ben ... idim. Bir dizi veri kaynağı kullanıyorsanız
aşağıdaki gibi bir şey yapabilirsiniz -
$(".select").select2({
data: data_names
});
data_names.forEach(function(name) {
if (name.selected) {
$(".select").select2('val', name.id);
}
});
Bu Verilerinizden varsayılan seçilmiş adında ek özellik vardır olarak ayarlamak istediğiniz bir öğe ayarlamak varsayar ve değeri ayarlamak için kullanırız.
4.x (Çünkü eğer gösteri yer tutucu) bir şey seçmek için
$('#select2Id').val('').trigger('change');
$('#select2Id').val(__INDEX__).trigger('change');
INDEX ile değer seçmek için sürümü için
html biçimlendirme sahip bir içinde bir '.' ile sınıf. temel olarak kodunuz değeri ayarlamaz, çünkü yanlış elemanı seçersiniz. – krishgopinath
veya bulunmayan bir eleman :) – krishgopinath
Seçtiğiniz değeri ayarladıktan sonra silme düğmesine sahip olmanız gerekiyorsa: $ ('. Select'). Select2 ({allowClear: true}) select2 ('val', $) ('.select2 seçeneği: eq (1)'). val()); –