如何从动态生成的列表中过滤数据?

时间:2014-06-05 08:41:07

标签: c# javascript jquery html asp.net

目前我正在使用asp.net中的一个Web应用程序。 应用程序以json格式从Web服务接收数据。要求是动态开发控件,我是使用html控件完成的。我动态创建了标签列表&存储在其中的值。现在我想在该列表的顶部添加过滤器,以便它可以根据在文本框中输入的值来过滤数据。 根据文本框中输入的值,我想要像item1,item2等数据的文本框列表下面的内容。我需要过滤数据。 我怎么能做到这一点?我试图使用list.js,但它没有用。

<% foreach (var item in (List<string>)Session["list"])
  { 
%>
<%--<li><label onclick="redirect('<%:item %>')"><%: item %></label><br/></li>--%>       
   <li><%:item %></li>
<% } %>

1 个答案:

答案 0 :(得分:0)

使用keyup事件处理程序添加文本框,将一些id设置为ul,例如ID = “列表”

  <input type="text" onkeyup="filter(this)" />
  <ul id="list">
      <li>a</li>
      <li>abc</li>
      <li>bcd</li>
      <li>abc</li>
  </ul>

添加以下脚本(source)和对jquery的引用

  <script>
    function filter(element) {
        var value = $(element).val(); 
        $("#list > li").each(function() {
            if ($(this).text().search(value) > -1) {
                $(this).show();
            }
            else {
                $(this).hide();
            }
        });
    }
  </script>

演示:http://jsbin.com/hahodetu/1/edit?html,output