2
我正嘗試使用淘汰項將所選的下拉列表的值綁定。的HTML是:使用Knockout在下拉列表中綁定選定的項目
<div>
Dummy
<select id="dummy" data-bind="options: DummyOptions, optionsCaption : 'Select..', optionsText: 'Message', value: selectedValue"></select>
</div>
<button data-bind="click : setDefault">click me </button>
<div data-bind="visible: selectedValue"> <!-- Appears when you select something -->
You have chosen a country with population
<span data-bind="text: selectedValue() ? selectedValue().Message : 'unknown'"></span>.
的JavaScript是:
var dummyOptions = ko.observableArray([{ isSelected: false, Message: "Test1" }, { isSelected: false, Message: "Test2"},{ isSelected: true, Message: "Test3"}]);
var defaultOption = ko.observable();
var vm = {
DummyOptions : dummyOptions,
selectedValue : defaultOption,
setDefault : function(){
defaultOption = ko.observable(ko.utils.arrayFirst(dummyOptions(), function(item) {
return item.isSelected;
}));
}
};
ko.applyBindings(vm);
如果我嘗試這一塊的JS代碼,而不setDefault功能,直接設置defaultOption變量,一切工作正常。但是,如果按照我列出的代碼的方式來執行,則綁定不起作用。
到小提琴的聯繫是:http://jsfiddle.net/tNZ8f/
任何建議?
感謝指出了這一點! – user3120027
只是另一個澄清......它有點不相關..我如何設置每個個人
使用'attr'綁定。但是你不能用'select'綁定來做到這一點。要定製'