为了这个问题的答案,我到处搜索。我有一个使用 listview 搜索过滤器的应用程序。但是,当用户离开页面时,搜索过滤器会“记住”之前的搜索。
我的问题:当用户离开页面时如何重置搜索过滤器?下次打开页面时,我希望清除搜索过滤器,以便再次显示整个列表并且之前的搜索是“忘记”?
为了这个问题的答案,我到处搜索。我有一个使用 listview 搜索过滤器的应用程序。但是,当用户离开页面时,搜索过滤器会“记住”之前的搜索。
我的问题:当用户离开页面时如何重置搜索过滤器?下次打开页面时,我希望清除搜索过滤器,以便再次显示整个列表并且之前的搜索是“忘记”?
首先你需要像这样清空它:
$('input[data-type="search"]').val("");
$('input[data-type="search"]').trigger("keyup");
工作 jsFiddle 示例:http: //jsfiddle.net/Gajotres/fEV3J/
HTML:
<div data-role="content">
<div data-role="fieldcontain">
<ul data-role="listview" data-filter="true">
<li><a href=#>Cat</a></li>
<li><a href=#>Dog</a></li>
<li><a href=#>Mouse</a></li>
</ul>
</div>
<div data-role="fieldcontain">
<input type="button" value="Clear" id="clear-filter"/>
</div>
</div>
JS:
$(document).on('click', '#clear-filter', function(){
$('input[data-type="search"]').val('');
$('input[data-type="search"]').trigger("keyup");
});
删除输入值,触发 keyup 事件以撤消最后一个过滤器,并(如果需要)将光标聚焦以进行新搜索。
$(document).ready(function () {
$('#input-filter').val('').trigger('keyup').focus();
});
你可能想试试这个:
$('a[data-icon="delete"]').trigger('click');
另外,您可能想要添加任何您可能拥有的表格
$('#myForm a[data-icon="delete"]').trigger('click');