【发布时间】:2012-01-24 20:00:14
【问题描述】:
我有一个 Web 应用程序,可以向用户显示他们存储在特殊广告系列中的所有数据。这些广告系列可以有不同的“标签”,这些标签可以表明他们的目的(增长、保留、忠诚度)比我在这里给出的要多得多。
我正在寻找一种方法,让更高级和更聪明的用户创建 AND/OR 子句组,使他们能够专门寻找针对其策略的特定广告系列。
我的标签很简单,基于索引的标题。我可以为用户生成广告系列列表,但我希望在用户端对广告系列进行实际过滤,因为他们可以下载广告系列。该网站还将包含“新”广告系列标签等内容。
因此,如果我有一个filterExpression,例如“(Retention+Growth)|Loyalty”,我应该会看到所有标记为 Retention AND Growth 或忠诚度的广告系列。
想法?
现在我的逻辑引起了对视。
编辑:伪示例:
Growth OR Loyalty OR Retention
= 0|1|2
filterPass = [ [0], [1], [2] ]
CampaignTags = [ 1,4,5,6 ]
//This campaign passes because it has "1"
(Growth AND Loyalty) OR Retention
= (0+1)|2
filterPass = [ [0,1] , [2] ]
CampaignTags = [ 1,4,5,6 ]
//Fails because it doesn't have "0" AND "1", OR "2"
【问题讨论】:
-
我不知道您的对象、html 和代码是什么样的,因此根据当前问题的内容很难提供帮助。 tinyurl.com/so-hints
-
我很确定我错过了一些信息或我应该寻找如何实现这一点的地方。我的代码在这里没有用。
-
好吧,这就是为什么我可以成为更多的助手;我不知道您使用什么语言来显示网站,我不知道您想如何为用户创建他们正在做的事情的方式(回发,Ajax),我不知道您的数据如何已存储,因此我无法告诉您过滤数据的更好方法。
-
我不知道这是否会有所帮助 - Parsing expressions in infix notation
-
我认为人们已经注意到了这样一个事实,即您没有说明活动最终是如何显示的,即使这些信息不是必需的。我认为您的问题只是“我有一个带有标签的实体列表,我如何使用 JavaScript 过滤它们并输入来自用户的输入,例如 '(tagA & tagB) | tagC'”。
标签: javascript jquery ajax tags logic