如果observable数组匹配其过滤器,则Knockout.js在过滤器集合上设置类

时间:2014-03-26 15:26:31

标签: jquery knockout.js

我试图了解一些knockout.js原则,我一直在玩jsfiddle中发现的一些例子。

http://jsfiddle.net/EZUEF/188/

self.activeFilter = ko.observable(self.filters[0].filter);//set a default filter    

上面的这一行也设置了默认的过滤器。我可以修改这一行,使我能够设置这个默认过滤器,也可以选择"选择"

从上面可以看出,我已经设法让a-z过滤器工作,但还有两个额外的要求。

1。)我如何将一个类应用于与过滤器匹配的所有字母(因此,如果姓氏以A开头则需要添加一个类)

2。)使用分页限制每个过滤器等的最简单方法是什么?

感谢您的帮助。

克里斯

1 个答案:

答案 0 :(得分:0)

根据css的第一个字母应用类,你可以根据姓氏制作返回班级的功能。

 //use css binding to bind this method
 self.getClass=function(data){
   var x= data.charAt(0).toLowerCase();
    return x+"class";
 }

在视图中: -

//for block of letters
<div data-bind="foreach: filters" style='clear:both; float:left;'>
   <span class='letter'  data-bind="click: $parent.setActiveFilter, text: title,css: $parent.getClass(title)"></span>
</div>

 //for list of names
<td data-bind="text: lastName,css: $parent.getClass(lastName)"></td>

Fiddle demo用于css类

有关css binding

的详细信息

对于传呼,您可以查看此site