【发布时间】:2012-12-04 08:14:10
【问题描述】:
我尝试使用 jQuery/HTML 选择器来过滤数据,例如
$("li[data-filter*='keyword']")
但这不能过滤得到相同的结果 "keyword1 keyword2" 和 "keyword2 keyword1" ,你明白吗?
我会给你演示..
HTML:
<input>
<li data-filter="apple pie gummi bears gummi bears john">
Apple pie gummi bears gummi bears John
</li>
<li data-filter="oat cake chocolate bar chupa chups dessert tootsie">
Oat cake chocolate bar chupa chups dessert tootsie
</li>
<li data-filter="jujubes cookie sugar plum lemon drops candy">
Jujubes cookie sugar plum lemon drops candy
</li>
jQuery :
var filter_timer;
$("input").keypress(function() {
clearTimeout(filter_timer);
filter_timer=setTimeout(function(){
filter();
},500);
});
function filter() {
var keyword = $("input").val();
if($("li[data-filter*='"+keyword+"']").length) {
$("li").animate({opacity:0.4}).css({"text-decoration":"line-through"});
$("li[data-filter*='"+keyword+"']").animate({opacity:1}).css({"text-decoration":"blink"});
}else{
$("li").animate({opacity:1},function(){$("li").removeAttr("style")});}
}
游乐场: http://jsfiddle.net/9eaXD/
当我搜索 apple pie 和 pie apple 或 apple gummi pei
时如何获得相同的结果【问题讨论】:
标签: jquery search filter selector