4.0.2

2016-04-07 19 views
0

Üzerinde programatik olarak değer nasıl ayarlanır? Docs from Method, yalnızca statik seçim için iyi çalışır. Ben kodu4.0.2

$('#my-select').val(id).trigger('change'); 

bahsediyorum Ama hiçbir statik seçenekler varken bu kodu düzgün çalışmıyor. Ajax yanıtından aldığım tüm veriler. DOM'a varsayılan seçenek eklemeyi deniyorum, .val(id) tarafından seçin ve .trigger('change') tarafından tetikleyin, ancak select2 span etiketi boş. Bu seçim için select2'yi yeniden başlatırsam değişir, ancak widget ajax desteğini kaybeder.

Demo

+0

[Dinamik AJAX kullanır jQuery Select2 kontrolüne öğe eklemek] Olası yinelenen (http://stackoverflow.com/questions/25428361/dynamically-add-item-to-jquery -select2-control-that-uses-ajax) – alexw

+0

Bu soruya cevabımı bakın: http://stackoverflow.com/questions/25428361/dynamically-add-item-to-jquery-select2-control-that-uses-ajax/35386009 # 35386009 ve benim kod yazım: http://codepen.io/alexweissman/pen/zremOV – alexw

+0

Bu http://codepen.io/anon/pen/xVpYvB adresine bakın. – Luciuz

cevap

1

Sadece seçeneği eklemek ve etiketi yerleştirin. İşte ürpertici çalışma çözümdür:

var $select2 = $('#select2'); 
var newState = new Option(val_text, val_id, true, true); 
$select2.empty().append(newState).trigger('change'); 
$('#select2-'+$select2.attr('id')+'-container').text(val_text);