【发布时间】:2015-11-19 12:05:09
【问题描述】:
所以我有这张客户表,其中包含已使用knockoutjs 绑定到视图模型的复选框。这样用户就可以在页面上选择所有或部分客户。
$.ajax 将 选定 客户发布回服务器的最佳方式是什么?我只能想象遍历数组并复制到新数组或类似的东西?还有什么想法吗?
【问题讨论】:
标签: knockout.js asp.net-web-api
所以我有这张客户表,其中包含已使用knockoutjs 绑定到视图模型的复选框。这样用户就可以在页面上选择所有或部分客户。
$.ajax 将 选定 客户发布回服务器的最佳方式是什么?我只能想象遍历数组并复制到新数组或类似的东西?还有什么想法吗?
【问题讨论】:
标签: knockout.js asp.net-web-api
您可以使用ko.mapping.toJS 从视图模型中获取数据:
<button data-bind="click: onSave">Save</button>
function onSave(viewModel) {
var unmapped = ko.mapping.toJS(viewModel);
$.post({
url: '/save/data',
data: unmapped
})
}
【讨论】:
unmapped.Rows = unmapped.Rows.filter(function(row) { return row.IsChecked; }) 或var data = viewModel.Rows.filter(function(row) { return row.IsChecked(); }).map(ko.mapping.toJS)。无论哪种方式,正如您所说,它归结为“遍历数组并复制到新数组”。