将值设置为在敲除的多选下拉列表中选择的值 - 敲除方式

Set value as selected in multiselect dropdown in knockout - The knockout way

我有一个多 select dropdown.I 正在将一个对象绑定到那个对象。只是为了从 selection.I 中获取多个值,我能够获取这些值并对其进行处理。

这是示例 - 我如何在我的页面中加载多 select 控件

http://jsfiddle.net/Hsakarp/d5j0zogz/

var viewModel = {
  optionValues: [{name: "name1", Id: 1, fullname: "Development"},{name: "name2", Id: 2, fullname: "Development"},{name: "name3", Id: 3, fullname: "Development"}],

    multipleSelectedOptionValues: ko.observable(),
};

但是当我再次加载页面进行编辑时,我想将值设置为 selected values.I 已尝试使用 Jquery - JQuery multiselect - Set a value as selected in the multiselect dropdown

有人可以告诉我如何使用 Knockout 本身来完成吗?

您需要设置 'optionsValue' 并将其填充到您的可观察数组中。

html:

<select multiple="multiple" data-bind="options: optionValues, optionsValue: 'Id', optionsText:'name', selectedOptions: multipleSelectedOptionValues"></select>

淘汰赛:

var viewModel = {
optionValues: [{name: "name1", Id: 1, fullname: "Development"},{name: "name2", Id: 2, fullname: "Development"},{name: "name3", Id: 3, fullname: "Development"}],

multipleSelectedOptionValues: ko.observableArray([1,3]),
};

ko.applyBindings(viewModel);

我已经为您创建了一个更新的 fiddle:http://jsfiddle.net/d5j0zogz/2/

正如 Tomalak 所说,knockout 的文档非常好,但需要一些时间来适应。浏览它有助于您理解答案是个好主意。