0

我刚刚开始使用 Knockout.js 我的表单包含我称之为问题的元素。我根据用户选择隐藏/显示它们。当用户点击提交按钮时,我只想在提交时发布可见的问题。我所拥有的是:

 // length of Results(questionArray) is 260
            var vmToPost = viewModel;
            delete vmToPost.__ko_mapping__;
            ko.utils.arrayForEach(vmToPost.Results(), function (question) {
                if (!(vmToPost.getQuestion(question.QuestionID()).visible())) {
                    ko.utils.arrayRemoveItem(vmToPost.Results(), question);
                }
            });

util 函数 arrayForEach 的行为很奇怪。它以非常不同的方式循环遍历数组。我必须点击提交按钮 7 次才能获取所有可见元素并退出 util 函数。它不会在控制台或提琴手中抛出任何错误消息。我究竟做错了什么。请帮忙。

4

1 回答 1

0

Html 包含一种跳过提交项目的内置方法。它是属性disabled可以使用带有enableordisable绑定的 Knockout 来控制。

<div data-bind="visible: visible">
    <label>Name: <input name="name" data-bind="enable: visible"></label>
</div>
于 2013-09-17T21:19:16.640 回答