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>