【发布时间】:2012-01-31 14:49:43
【问题描述】:
我使用敲除将 JSON 对象映射到用户控件,我有一个单个复选框的列表, 他们看起来像
<input type="checkbox" data-bind="checked: IsEnabled1" />
我有 JsonObject
var viewModel = {
IsEnabled1 :ko.observable(true),
IsEnabled2 :ko.observable(true),
IsEnabled3 :ko.observable(false)
};
...
ko.applyBindings(viewModel);
我想添加将选中/取消选中所有其他复选框的全局复选框,我在 JavaScript 端进行了此更改,但全局复选框更新了 UI 部分,但它们来自单独复选框的数据不会映射到 JSON 对象。
全局复选框
$("#GeneralTable thead tr th:first input:checkbox").click(function () {
var checkedStatus = this.checked;
$("#GeneralTable tbody tr td:first-child input:checkbox").each(function () {
this.checked = checkedStatus;
});
});
在此代码之后,我的 JSON 对象包含与 UI 无关的数据。
从JS端更改复选框后如何更新所有JSON?
【问题讨论】:
-
您发布的代码不足以让我们回答您的问题。
-
现在应该会更好。谢谢。
-
代码中存在与节点交互的问题。但是您需要与数据进行交互。它在 MVVM 世界中更好:-) 请检查我的答案。我认为它对你有用。
标签: javascript jquery knockout.js