[英]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
属性 ,可以使用带有enable
或disable
绑定的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.