Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义listview-根据用户输入进行筛选_Javascript_Jquery_Html_Listview_Jquery Mobile - Fatal编程技术网

Javascript 自定义listview-根据用户输入进行筛选

Javascript 自定义listview-根据用户输入进行筛选,javascript,jquery,html,listview,jquery-mobile,Javascript,Jquery,Html,Listview,Jquery Mobile,好的,这是我的问题: 我试图实现一个基于jQueryMobile的列表视图,其中包含很多项(当我说“很多”时,我指的是数以万计的项) 这些元素不必从一开始就显示在列表中,而是根据用户键入的内容显示 例如,等待用户输入至少2个字符,然后仅显示(附加到列表中)适当的项目 等等 你会怎么做?是否存在解决此问题的现有方法?(我到处都搜索了,但找不到任何有用的东西…如果您正在为listview使用过滤器,您应该检查源代码 else { //filtervalue is empty => show

好的,这是我的问题:

  • 我试图实现一个基于jQueryMobile的列表视图,其中包含很多项(当我说“很多”时,我指的是数以万计的项)
  • 这些元素不必从一开始就显示在列表中,而是根据用户键入的内容显示
  • 例如,等待用户输入至少2个字符,然后仅显示(附加到列表中)适当的项目
  • 等等

你会怎么做?是否存在解决此问题的现有方法?(我到处都搜索了,但找不到任何有用的东西…

如果您正在为listview使用过滤器,您应该检查源代码

else {
//filtervalue is empty => show all
listItems.toggleClass( "ui-screen-hidden", !!listview.options.filterReveal );
}
如果搜索区域为空,则在此处显示所有元素。您可以将其更改为“全部隐藏”,而不是“全部显示”。这样,您就可以使listview处于完整状态,而默认行为将负责显示所需的结果。虽然这从第一种类型开始起作用。您也可以更改它,并在每次调用(onKeyUp事件)时检查搜索文本的长度(如果它的lengthOfText>=2)

编辑加载列表时,您必须自己隐藏它们。加上

"ui-screen-hidden"
给你的李元素

//不管你最后做了什么,请提供一个链接,以便我可以看到性能。我真的很好奇。

你可以用

data-filter-reveal="true"
这是演示

HTML

您是否尝试过阻止对第一个
执行任何操作。按键
并对第二个事件执行代码?+1我不知道这一点。他们不断添加新功能!
<ul data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search fruits..." data-inset="true">
    <li><a href="#">Apple</a></li>
    <li><a href="#">Banana</a></li>
    <li><a href="#">Cherry</a></li>
    <li><a href="#">Cranberry</a></li>
    <li><a href="#">Grape</a></li>
    <li><a href="#">Orange</a></li>
</ul>