0

编辑:我认为问题出在我的 self.providers = ko.computed() 上,我在单击过滤器按钮时覆盖了我的提供程序数组;

我有两个问题,在 HTML 窗格中都有所有内容,因为我在本地开发所有内容,并且将整个文件复制/粘贴到 jsfiddle 中而不是将其拆分出来更容易。

我还在一个相当大的虚拟数据对象中存根。 这从第 110 行开始,因此如果您在本地复制/粘贴/运行它,您肯定需要一个可以最小化该数据对象的编辑器

第一个小提琴位于http://jsfiddle.net/82cK7/并且似乎工作正常,但它是“实时”过滤。我刚从提供者名称过滤开始,然后也添加了 jquery UI datepicker 来进行日期过滤。当您在绿色过滤器区域进行任何更改时,这将过滤数据表。

这里的相关代码是第196 行的self.filterClaims

第二个小提琴位于http://jsfiddle.net/tq8zc/并不能很好地工作。在您单击“过滤器”按钮之前,此处的过滤不会启动(这是我真正想要的行为)。它过滤了表格,但它也炸毁了我的self.providers,它为该选择/下拉列表生成了一个唯一的提供者名称列表。因此,在您过滤它之前,您有一个包含多个提供者名称的列表。过滤后,您只有在点击“过滤器”之前选择的提供商。

这里的相关代码是第166 行的self.claimsFiltered

我觉得我错过了一些非常明显的东西,我想知道我是否可以让另一只眼睛看着代码。

非常感谢您的帮助!

4

1 回答 1

1

这是一种简单的方法。我刚刚添加了一个currentFilter包含最新过滤器属性的 observable,过滤器按钮只是用新的过滤器值更新它。希望这可以帮助。更新小提琴:http: //jsfiddle.net/antishok/tq8zc/2/

于 2012-09-22T15:53:06.143 回答