2014-04-02 25 views
5

Ello, bir seçme bağlanma nakavt önceden seçin.selectedOptions kullanarak birden çok değerin OPTGROUP ben litteraly optgropus ile (çoklu) selectbox yapım ve nakavt ile seçenekleri/selectedOptions bağlayıcı tüm seçenekleri denedim</p> <p>

selectedOptions bağlamasında bir sorun var gibi görünüyor. Verilerim yasal görünüyor, ancak önceden seçilmiş seçenekleri göstermeyecek. Çalışır seçilen tek bir seçenekle http://jsfiddle.net/aCS7D/251/

<select data-bind="selectedOptions: selectedOptions" multiple="multiple"> 
<option>Please choose an option</option> 
<optgroup data-bind="repeat: groups" data-repeat-bind="attr: {label: $item().label}"> 
    <option data-bind="repeat: $item().children" data-repeat-bind="text: $item().label, option: $item()"></option> 
</optgroup> 

, ancak birden selectedoptions ile selectbox bunları doğru oluşturma değil:

Ben JSFiddle bir örneği yaptık.

Bu soruna herhangi bir çözümü varsa, benim kahramanım olursun!

cevap

2

Sen this gibi bağlamaları uyguladıktan sonra bunları itebilir:

this.selectedOptions = ko.observableArray([]); 

//The single selected option 
this.selectedOption = ko.observable(selected1);  

var vm = new ViewModel() 
ko.applyBindings(vm); 
var selected1 = vm.groups()[1].children()[1]; 
var selected2 = vm.groups()[1].children()[0]; 
vm.selectedOptions.push(selected1); 
vm.selectedOptions.push(selected2); 
+1

çalışma çözümü için teşekkür ederiz! Seçilen mimari nedeniyle bağlama elemanından sonra herhangi bir javascript'i çalıştıramıyorum. Ancak, seçili seçenekleri eklemek için afterRender bağlayıcısını kullanmaya çalışacağım. Eğer işe alırsam, güncel çözümü göndereceğim. – Linksonder

İlgili konular