2015-09-28 58 views
0

我需要一个搜索框,它与Gmail搜索或Teamcity search的功能类似。Gmail like search component

我希望能够使用前缀进行搜索,例如, by:my_user in:development,它会找到每个“对象”(可以是任何),以有意义的方式过滤。

现在,提取键和值并将其应用于我的数据集的过程中,我知道该怎么做。这个问题是关于GUI组件的。

我想要一个可以根据我的配置提供建议的文本框。有没有一个JavaScript组件,它可以像这样开箱即可做到这一点?有人声称可以用JQuery Autocomplete完成,但我不知道如何。

+0

我会建议做一个正则表达式来解析出输入中的所有关键字(s)和值(s)(my_user)。然后将它们全部应用于您的对象集合 – Eric

+0

当然。但我要求的是一个很好的用户输入GUI组件,它可以提供建议 – Eldamir

+0

哦,我明白了。然后,是的,jQuery Autocomplete可以根据您从后端代码返回的内容提供建议。 – Eric

回答

0

恕我直言,你错过了一部分, “主题”,例如

var query = "by:my_user in:development the thing"; 

则:找到过滤器

var filters = query.match(/(([\w_]+):([\w_]+))/ig); 

找到(可选)主题

var subject = query.match(/\s([\w\s]+)$/ig); 

然后

for(var i in filters) { 
    var filter = filters[i].split(':'); 
    var key = filter[0]; 
    var obj = filter[1]; 
} 
+0

我想我的问题还不够清楚。我已经重写了它,所以它更清晰。我没有询问正则表达式以及如何从字符串输入中提取有意义的数据。我在询问有关GUI组件,以使字符串的打字更愉快 – Eldamir