我有一个绑定到模型的 select multi,然后我想选择以前使用第二个模型选择的一些值。我认为这是一件简单直接的事情,但在淘汰赛中它似乎比应该做的更难。这是我到目前为止所拥有的。提琴手
选择多
<select data-bind="options:availableThings,optionsText: 'Title', selectedOptions: selectedThings" size="5" multiple="true"></select>
我的模型
var initialThingsModel = [
{"Id":1,"Title":"First"},
{"Id":2,"Title":"Next"},
{"Id":3,"Title":"Another"},
{"Id":4,"Title":"Last"}
];
var initialSelectedThingsModel = [
{"Id":2,"Title":"Next"},
{"Id":4,"Title":"Last"}
];
然后是绑定第一个模型的其余部分和保存并提交所选值的管道:
var viewModel = {
availableThings: ko.observableArray(initialThingsModel),
selectedThings: ko.observableArray(initialSelectedThingsModel),
save: function () {
$.ajax({
url: '/home',
type: 'POST',
data: ko.toJSON(this.selectedThings),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.Message);
}
});
}
};
ko.applyBindings(viewModel);
然后我面临的问题是绑定initialSelectedThingsModel,以便选择列表预先填充那些选定的项目。
广泛的问题,淘汰赛是正确的解决方案还是骨干网会提供一种更简单的方法来实现这种事情?