我有一个使用jqueryMobile使用数据过滤器显示功能创建的列表视图。此功能隐藏列表元素,并显示与您输入的字符匹配的输入字符。我的数据源是本地的(意味着列表是静态填充的)。jQueryMobile listview与过滤器显示,点击显示项目
我想要做的是显示所有项目,而不需要输入任何字符,但当列表本身获得焦点(并在它丢失时将其隐藏)。
我知道我可以只是jQuery的所有元素,并做演示/隐藏自己,但我想知道是否有一个现成的解决方案,我不知道。
我有一个使用jqueryMobile使用数据过滤器显示功能创建的列表视图。此功能隐藏列表元素,并显示与您输入的字符匹配的输入字符。我的数据源是本地的(意味着列表是静态填充的)。jQueryMobile listview与过滤器显示,点击显示项目
我想要做的是显示所有项目,而不需要输入任何字符,但当列表本身获得焦点(并在它丢失时将其隐藏)。
我知道我可以只是jQuery的所有元素,并做演示/隐藏自己,但我想知道是否有一个现成的解决方案,我不知道。
不存在开箱即用的解决方案,但是,您可以执行以下操作。
当input
是集中,设置.listview("option", "filterReveal", true);
和手动隐藏所有列表视图项加入ui-screen-hidden
JQM类。当模糊时,扭转上一个操作。
注意:filterReveal在JQM 1.4.0已被弃用,将在1.5.0被删除。
var list = $("#list");
$("input").on("focus", function() {
$(this).val("");
list.listview("option", "filterReveal", false);
list.children().removeClass("ui-screen-hidden");
list.listview("refresh");
}).on("keydown", function() {
list.listview("option", "filterReveal", true);
list.children().addClass("ui-screen-hidden");
list.listview("refresh");
});
这不完全是我问的,我想要的是输入来隐藏列表,但它会立即显示它获取焦点,而不是只在打字时第一个字符。但我想我可以从你的例子中解脱出来。谢谢。 –
@ kelmer隐藏了曾经关注的元素。最初,你想要隐藏和重点列表项目,显示它们?编辑:http://jsfiddle.net/Palestinian/5zcB8/ – Omar
这真棒,谢谢! –
您正在使用哪个版本? – Omar
我正在使用jquery mobile 1.3.2和jquery 1.9.1 –