Javascript 能够使用knockout js动态隐藏/显示页面上的元素
编辑:我根据反馈更新了我的绑定 我的web应用程序上有一个子页面,我需要能够根据用户选择的过滤选项动态隐藏/显示该页面上的元素。为此,我编写了如下自定义绑定:Javascript 能够使用knockout js动态隐藏/显示页面上的元素,javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,编辑:我根据反馈更新了我的绑定 我的web应用程序上有一个子页面,我需要能够根据用户选择的过滤选项动态隐藏/显示该页面上的元素。为此,我编写了如下自定义绑定: ko.bindingHandlers.customVisible = { update: function(element, valueAccessor){ var params = ko.utils.unwrapObservable(valueAccessor()); var sho
ko.bindingHandlers.customVisible = {
update: function(element, valueAccessor){
var params = ko.utils.unwrapObservable(valueAccessor());
var show = params.method(params.data, params.searchText());
ko.bindingHandlers.visible.update(element, function() { return show; });
}
};
它的html标记如下所示:
<div class="form-group" data-bind="foreach: objects">
<div class="col-md-9 col-sm-7 col-xs-12" data-bind="customVisible: {data: $data, method: $parent.filterSyncedObjects, searchText: $parent.searchText}">
</div>
</div>
以下是输入框的标记:
<input type="search" data-bind="value: searchText, valueUpdate: 'keyup'" placeholder="Enter A name to search">
“filterSearchObjects”是根据搜索是否匹配而返回true或false的方法,“searchText”是包含用户输入文本的可观察对象。我的问题是:
“searchText”的值更改时,为什么没有启动customVisible.update函数
任何帮助都将不胜感激。是
searchText
ako.可观察的
?如果是,则不应是var show=params.method(params.data,params.searchText())代码>?谢谢。但它仍然没有回答我的问题:“为什么没有启动更新?”编辑:谢谢你,huocp。就这样!