jQuery Mobile 過濾


可過濾元素

所有的元素如果有一個(gè)或更多的子元素均可過濾。

如何創(chuàng)建搜索字段:

  • 你想過濾的元素必須使用 data-filter="true" 屬性。
  • 創(chuàng)建 <input> 元素并指定 id,元素上加上 data-type="search" 屬性。這樣就能創(chuàng)建基本的搜索字段。將 <input> 元素放置于一個(gè)表單中,表單 <form> 元素使用 "ui-filterable" 類 - 該類會(huì)調(diào)整搜索字段與過濾元素的外邊距。
  • 接著為過濾的元素添加 data-input 屬性。該值需要是 <input> 元素的 id。

接下來我們創(chuàng)建一個(gè)可過濾的列表:

列表中搜索元素

<form class="ui-filterable">
  <input id="myFilter" data-type="search">
</form>


<ul data-role="listview" data-filter="true" data-input="#myFilter">
  <li><a href="#">Adele</a></li>
  <li><a href="#">Billy</a></li>
  <li><a href="#">Calvin</a></li>
</ul>

嘗試一下 ?

提示: 可以在搜索字段中使用 placeholder 屬性來設(shè)置提示信息:

實(shí)例

<input id="myFilter" data-type="search" placeholder="根據(jù)名稱搜索..">

嘗試一下 ?

自定義過濾

一般的插入到各個(gè)列表項(xiàng)的文本就是作為過濾的文本使用(如 A 對(duì)應(yīng) "Adele" 或 "B" 對(duì)應(yīng) "Billy")。 但是,如果你想指定自定義的過濾的文本,你需要在子元素中使用 data-filtertext 屬性:

實(shí)例

<li data-filtertext="fav"><a href="#">Adele</a></li>

嘗試一下 ?
Note 如果你在元素中使用了 data-filtertext 屬性,元素的源文本內(nèi)容在過濾時(shí)將被忽略, 這時(shí)你如果還要查找列表項(xiàng)"Adele",需要使用的關(guān)鍵字為:f, a, v 或 fav。
實(shí)例

更多實(shí)例

過濾折疊列表
如何過濾折疊的列表。

過濾表格
如何過濾表格內(nèi)容。

過濾 <div> 元素
如何過濾 <div> 元素中包含的子 <p> 元素。