監視可能な配列を使用して選択ボックスにオプションを設定しようとしています。設定するオプションを取得できますが、配列は 1 つのオプションとして表示されており、今見ても値がありません。
フィドルとコードは次のとおりです。
var Model = function (properties) {
this.AvailableLenders = ko.observableArray();
this.ModifyLenders = function (newProperties) {
var lenders = [],
count = 0;
ko.utils.arrayForEach(newProperties || properties, function (item) {
var lender = item.Lender;
if (lender) {
if (lenders.indexOf(lender) == -1) {
lenders[count] = lender;
count++;
}
}
});
this.AvailableLenders.removeAll();
return this.AvailableLenders.push(lenders.sort());
};
this.ModifyLenders();
};
ko.applyBindings(new Model([{Lender: "ASB"}, {Lender: "ANZ"}]));
HTML:
<select multiple="multiple" name="Lender" id="Lender" data-bind="options: AvailableLenders, optionsCaption: 'Please select a lender'"></select>