如何使用文本输入值对列表进行排序?

时间:2013-07-18 12:27:52

标签: jquery html sorting filter

我的HTML列表如下:

<ul class="friend_list">
    <li> 
        <a href="#">Krishna</a>
        <a href="#">Karan</a>
        <a href="#">Ram</a>
        <a href="#">Hari</a>
    </li>
</ul>

<input type="text" name="sort" value="Search" id="sort">

当用户在输入文本#sort中输入任何字符串时,它应根据匹配对值列表进行排序。就像我在输入K中输入Krishna一样,Karan列表应显示,Hari应该隐藏。再次当我输入HHari时,应显示Hari li,其他人应隐藏。

#sort key up函数应该像SQL LIKE运算符一样过滤结果。

任何人都可以帮我找到解决方案吗?

2 个答案:

答案 0 :(得分:3)

这是一个想法:

 $("#sort").keyup(function(){
      var v = $(this).val();
      if(v.length==0)
      {    $("a").show();}
      else
      {
      $("a").each(function(){
          if($(this).text().indexOf(v)==0)
              $(this).show();
          else
              $(this).hide();
      })
      }
  }) ;

http://jsfiddle.net/fqyCM/

更改

if($(this).text().indexOf(v)==0) 

if($(this).text().indexOf(v)!=-1) 

从开始更改为包含

答案 1 :(得分:0)

你没有提供任何代码,我怀疑有人会为你做这件事。这是一个可能为您提供所需内容的代码: http://codecanyon.net/item/advanced-tables/full_screen_preview/53366?ref=lvraa 如果你没有对编程进行过多的实验,我建议你使用jQuery插件。