Как очистить или сбросить панель фильтра поиска в списках просмотра?
Я искал ответ на этот вопрос все выше и ниже. У меня есть приложение, которое использует фильтр поиска списка. Однако, когда пользователь уходит со страницы, поисковый фильтр "запоминает" предыдущий поиск.
Мой вопрос: как мне сбросить фильтр поиска, когда пользователь уходит со страницы? В следующий раз, когда страница откроется, я бы хотел, чтобы поисковый фильтр был очищен, чтобы весь список снова отображался, а предыдущий поиск был "забыт"?
2 ответа
Сначала вам нужно очистить его следующим образом:
$('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");
});
Удалите входное значение, вызовите событие нажатия клавиши, чтобы отменить последний фильтр, и (если хотите) сфокусируйте курсор для нового поиска.
$(document).ready(function () {
$('#input-filter').val('').trigger('keyup').focus();
});
Вы можете попробовать это:
$('a[data-icon="delete"]').trigger('click');
Кроме того, вы можете добавить любые формы, которые у вас могут быть, так
$('#myForm a[data-icon="delete"]').trigger('click');