繁体   English   中英

KnockoutJS:仅发布可见的表单元素

[英]KnockoutJS: Posting only visible form elements

我刚刚开始使用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);
                }
            });

实用程序函数arrayForEach有点奇怪。 它在数组中的循环非常不同。 我不得不按下提交按钮7次,以获取所有可见元素,并退出util函数。 它不会在控制台或提琴手中引发任何错误消息。 我究竟做错了什么。 请帮忙。

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

<div data-bind="visible: visible">
    <label>Name: <input name="name" data-bind="enable: visible"></label>
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM