使用列表项的Multifilter逻辑
以下代码将在无序列表中的列表项中搜索任何重复的类
.show()
和.show()
。
当前版本
它目前适用于两种情况
第一
显示具有相同类别(至少一个或多个)的任何列表项。
第二
显示列表项类重复,但我们可以具体说明哪个类。 例如,查找并显示类.red的重复项
我有一切准备就绪。
var $rows = $(".myList").find(".list_entry"); $("#show_red").on("click", function() { $rows.hide().filter(".red").show(); }); $("#reset").on("click", function() { $rows.show(); }); function uniqueValues ( array ) { return array.reduce(function(result, value){ if (result.indexOf(value) 1; }).show(); });
span{ border-style: solid; margin: 1px; padding: 1px; } li{ margin:15px; }
我想要实现的目标
真实的例子(游戏示例):
我们有一组按钮来过滤列表项。 列表项将按类属性进行过滤。
示例filter按钮
Leveling filters : Level_1, Level_2, Level_3, Level_4, Level_5 Rewards : Experience, AnotherTypeOfExperience, AndAnotherExp AdditionalRewards : Item1, Item2, Item3 MissionZone : City, Suburbs MissionType : Defence, Offense
示例
用户选择以下filter示例:
Show me (Level_1 OR City OR Defence AND) Item1 OR Item3 Show me (Level_1 AND) Duplicates Of Item1 Show me (Level_2 OR Defence AND) Item2 Show me (Level_1 AND City AND) Item2 OR Duplicates of Item2
一般想法: Show me (Leveling filters $filter_logic MissionZone $filter_logic MissionType (AND -fixed)) Rewards $filter_logic Rewards/AdditionalRewards
因此,Levelingfilter,MissionZone,MissionType是filter集1,奖励filter是filter集2。
例1
filterset1 = [level_1,city]; filterset2 = [Item1,Duplicates]; $filter_logic = AND; show : (Level_1 AND City) 1 AND (Item1 AND Duplicates) | /\ | filterset1 fixed AND filterset2
例2
filterset1 = [level_1,city]; filterset2 = [Item1,Duplicates]; $filter_logic = AND; show : (Level_1 OR City) 1 AND Item1 OR Duplicates | /\ | filterset1 fixed AND filterset2
我不知道怎么开始这个。 如果您有任何提示,请分享。