2009-11-12 127 views
0

我一直在寻找周围的方法,我可以实现我的网页上的输入框,将按照关键词过滤,很像一个buysellads.com使用here,你在相关的网站,它的关键词输入自动过滤列表。例如,如果您输入'photoshop',它将抓取所有带有photoshop标签的网站。过滤器按关键字的jQuery

我很喜欢,也能实现该功能你说'Photoshop的过滤时点击添加按钮后,字的Photoshop被输入框下放置一个“X”按钮来关闭特定的过滤器。这是用jquery完成的吗?

任何帮助将是巨大的,谢谢。

这里是我的网页,我目前正在与想实现上面的示例代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>jQuery Checkbox Filter Test</title> 
<style type="text/css"> 
@import url(css/screen.css); 
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("input.type_check").click(function() { 
      if($(this).is(':checked')) { 
       $("#events li."+$(this).attr('id')).removeClass('type_hidden'); 
       $("#events li").not(".type_hidden, .start_hidden, .color_hidden").slideDown(); 
      } else { 
       $("#events li."+$(this).attr('id')).addClass('type_hidden'); 
       $("#events li."+$(this).attr('id')).slideUp(); 
      } 
     }); 

     $("input.start_check").click(function() { 
      if($(this).is(':checked')) { 
       $("#events li."+$(this).attr('id')).removeClass('start_hidden'); 
       $("#events li").not(".type_hidden, .start_hidden, .color_hidden").slideDown(); 
      } else { 
       $("#events li."+$(this).attr('id')).addClass('start_hidden'); 
       $("#events li."+$(this).attr('id')).slideUp(); 
      } 
     }); 
     $("input.color_check").click(function() { 
      if($(this).is(':checked')) { 
       $("#events li."+$(this).attr('id')).removeClass('color_hidden'); 
       $("#events li").not(".type_hidden, .start_hidden, .color_hidden").slideDown(); 
      } else { 
       $("#events li."+$(this).attr('id')).addClass('color_hidden'); 
       $("#events li."+$(this).attr('id')).slideUp(); 
      } 
     }); 
    }); 
</script> 
</head> 
<body> 
<h2>FILTER PRODUCTS BY:</h2> 
<div id="sport-cat"> 
<p>Sport:</p> 
<div> 
    <input name="type[]" type="checkbox" id="type_4" value="4" class="type_check" checked="checked" /> 
    <label for="type_4">Soccer</label> 
</div> 
<div> 
    <input name="type[]" type="checkbox" id="type_1" value="1" class="type_check" checked="checked" /> 
    <label for="type_1">Baseball/ Softball</label> 
</div> 
<div> 
    <input name="type[]" type="checkbox" id="type_2" value="2" class="type_check" checked="checked" /> 

    <label for="type_2">Basketball</label> 
</div> 
<div> 
    <input name="type[]" type="checkbox" id="type_5" value="5" class="type_check" checked="checked" /> 
    <label for="type_5">Boxing</label> 
</div> 
<div> 
    <input name="type[]" type="checkbox" id="type_3" value="3" class="type_check" checked="checked" /> 
    <label for="type_3">Football</label> 

</div> 
<div> 
    <input name="type[]" type="checkbox" id="type_0" value="0" class="type_check" checked="checked" /> 
    <label for="type_0">Golf</label> 
</div> 
</div> 
<div id="model-cat"> 
<p>Model:</p> 
<div> 
    <input name="start[]" type="checkbox" id="start_072009" value="072009" class="start_check" checked="checked" /> 
    <label for="start_072009">T-Shirts</label> 
</div> 

<div> 
    <input name="start[]" type="checkbox" id="start_082009" value="082009" class="start_check" checked="checked" /> 
    <label for="start_082009">Shorts</label> 
</div> 
<div> 
    <input name="start[]" type="checkbox" id="start_092009" value="092009" class="start_check" checked="checked" /> 
    <label for="start_092009">Hats & Caps</label> 
</div> 
<div> 
    <input name="start[]" type="checkbox" id="start_102009" value="102009" class="start_check" checked="checked" /> 

    <label for="start_102009">Jackets</label> 
</div> 
</div> 
<div id="color-cat"> 
<p>Color:</p> 
<div> 
    <input name="color[]" type="checkbox" id="color_072010" value="072010" class="color_check" checked="checked" /> 
    <label for="color_072010">Black</label> 
</div> 

<div> 
    <input name="color[]" type="checkbox" id="color_082010" value="082010" class="color_check" checked="checked" /> 
    <label for="color_082010">Blue</label> 
</div> 
<div> 
    <input name="color[]" type="checkbox" id="color_092010" value="092010" class="color_check" checked="checked" /> 
    <label for="color_092010">Green</label> 
</div> 

</div> 
<h2>Results</h2> 
<ul id="events"> 
    <li id="event_1768" class="type_1 start_072009 color_072010"> 
      <h3>BASEBALL/SOFTBALL - Nike Manny Pacquiao (Giants) Men's T-Shirt</h3> 
    </li> 
    <li id="event_2190" class="type_2 start_072009 color_082010"> 
      <h3>LeBron Vs. Men's T-Shirt</h3> 

    </li> 
    <li id="event_2191" class="type_2 start_082009 color_092010"> 
      <h3>Kobe Supreme Men's Basketball Shorts</h3> 
    </li> 
    <li id="event_1864" class="type_2 start_072009 color_082010"> 
      <h3>Kobe Vs. Men's T-Shirt</h3> 
    </li> 
</ul> 
</body> 
</html> 

编辑:

下面是我已经添加到页面中的新的输入字段。我想知道如何在输入框中输入类似'Kobe'的东西,然后按添加链接/按钮,然后它只使用jquery显示带有单词'Kobe'的项目。我目前不需要自动完成功能。我不知道如何为此做jQuery。

<ul> 
    <li class="section keyword"> 
    <input id="newtag" class="text" type="text" value="filter by keyword" name="keyword"/> 
     <ul class="buttons"> 
      <li class="button add"> 
       <a id="addtag" href="#"> 
        <em>Add</em> 
       </a> 
      </li> 
     </ul> 
    <ul id="existingtags" class="keywords"> </ul> 
    </li> 
</ul> 

此外,当“科比在输入键入我想在输入(科比)在无序列表中显示“existingtags”并点击它删除过滤器的类型。(我希望是有道理的)

感谢您的任何帮助。

+0

问题太模糊了。 – 2009-11-12 15:42:56

+0

基本上,我想创建与buysellads相同的功能,但我不知道从哪里开始,或者如何根据输入进行过滤。 – Spyderfusion02 2009-11-12 15:54:33

回答