0

我已經搜索了高和低爲這個問題的答案。我有一個使用listview搜索過濾器的應用程序。但是,當用戶離開頁面時,搜索過濾器會「記住」以前的搜索。如何在列表視圖中清除或重置搜索過濾器欄?

我的問題:當用戶離開頁面時,如何重置搜索過濾器?下一次打開頁面時,我希望清除搜索過濾器,以便再次顯示整個列表,並且以前的搜索「已被忘記」?

+0

最有可能的瀏覽器緩存和請張貼一些代碼,所以任何形式我們可以幫助更多 – Sedz

回答

4

首先,你需要清空它是這樣的:

$('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"); 
}); 
+0

非常感謝您試圖回答我的問題。我不想使用按鈕來清除搜索過濾器。我想在用戶離開搜索頁面或「關閉」搜索頁面時清除它。我將使用您提供的代碼來嘗試獲得解決方案。這是一個好的開始。如果我能找到答案,我會在這裏發佈。再次感謝你的幫助。我知道這花了一些時間來做到這一點,我很感激。 -Rachel – user1204493

0

你可以試試這個:

$('a[data-icon="delete"]').trigger('click'); 

Additionaly你可能想在前面加上你可能有像這樣

$('#myForm a[data-icon="delete"]').trigger('click'); 
相關問題