Knockout.js 当用户在网格中选择了五个或更多项目时,启用按钮
我有一个插件,用户可以使用Knockout.js 当用户在网格中选择了五个或更多项目时,启用按钮,knockout.js,slickgrid,Knockout.js,Slickgrid,我有一个插件,用户可以使用复选框selectcolumn插件选择行 我有一个html按钮,我希望数据绑定提交按钮仅在用户选择了五行后才可见,或者如果用户取消选中足够多的行,则禁用该按钮,直到选中的行数少于五行 <button data-bind="click: submit, enable: hasSelectedFivePolicies">Submit</button> 以下一行: var hasFive = gridUnredeemed.getSelectedRow
复选框selectcolumn
插件选择行
我有一个html按钮,我希望数据绑定
提交按钮仅在用户选择了五行后才可见,或者如果用户取消选中足够多的行,则禁用该按钮,直到选中的行数少于五行
<button data-bind="click: submit, enable: hasSelectedFivePolicies">Submit</button>
以下一行:
var hasFive = gridUnredeemed.getSelectedRows().length >= 5;
不足以使敲除在getSelectedRows()
和HasselectedFivePolicys
之间创建可观察的依赖关系
不仅如此,即使创建了依赖项,它仍然不够,因为当getSelectedRows
发生更改时,不会通知Knockout
您需要手动订阅onSelectedRowsChanged
事件,并相应地更改hasSelectedFivePolicies
可观察值
例如(假设gridunreleased
是对网格实例的引用):
请向我们展示您的代码的其余部分。我们需要看看你的观测值是如何定义的。谢谢你,我不得不订阅了
onSelectedRowsChanged
,我知道我现在缺少什么了。
var hasFive = gridUnredeemed.getSelectedRows().length >= 5;
gridUnredeemed.onSelectedRowsChanged.subscribe(function(e) {
var hasFiveRecalc = gridUnredeemed.getSelectedRows().length >= 5;
self.hasSelectedFivePolicies(hasFiveRecalc);
});