可過濾元素
所有的元素如果有一個或更多的子元素均可過濾。
如何創(chuàng)建搜索字段:
你想過濾的元素必須使用 data-filter="true" 屬性。
創(chuàng)建 <input> 元素并指定 id,元素上加上 data-type="search" 屬性。這樣就能創(chuàng)建基本的搜索字段。將 <input> 元素放置于一個表單中,表單 <form> 元素使用 "ui-filterable" 類 - 該類會調(diào)整搜索字段與過濾元素的外邊距。
接著為過濾的元素添加 data-input 屬性。該值需要是 <input> 元素的 id。
接下來我們創(chuàng)建一個可過濾的列表:
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="main" class="ui-content"> <h2>我的通訊錄</h2> <form class="ui-filterable"> <input id="myFilter" data-type="search"> </form> <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true"> <li><a href="#">Adele</a></li> <li><a href="#">Agnes</a></li> <li><a href="#">Albert</a></li> <li><a href="#">Billy</a></li> <li><a href="#">Bob</a></li> <li><a href="#">Calvin</a></li> <li><a href="#">Cameron</a></li> <li><a href="#">Chloe</a></li> <li><a href="#">Christina</a></li> <li><a href="#">Diana</a></li> <li><a href="#">Gabriel</a></li> <li><a href="#">Glen</a></li> <li><a href="#">Ralph</a></li> <li><a href="#">Valarie</a></li> </ul> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
提示: 可以在搜索字段中使用 placeholder 屬性來設(shè)置提示信息:
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="main" class="ui-content"> <h2>我的通訊錄</h2> <form class="ui-filterable"> <input id="myFilter" data-type="search" placeholder="根據(jù)名稱搜索.."> </form> <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true"> <li><a href="#">Adele</a></li> <li><a href="#">Agnes</a></li> <li><a href="#">Albert</a></li> <li><a href="#">Billy</a></li> <li><a href="#">Bob</a></li> <li><a href="#">Calvin</a></li> <li><a href="#">Cameron</a></li> <li><a href="#">Chloe</a></li> <li><a href="#">Christina</a></li> <li><a href="#">Diana</a></li> <li><a href="#">Gabriel</a></li> <li><a href="#">Glen</a></li> <li><a href="#">Ralph</a></li> <li><a href="#">Valarie</a></li> </ul> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
自定義過濾
一般的插入到各個列表項的文本就是作為過濾的文本使用(如 A 對應(yīng) "Adele" 或 "B" 對應(yīng) "Billy")。 但是,如果你想指定自定義的過濾的文本,你需要在子元素中使用 data-filtertext 屬性:
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="main" class="ui-content"> <h2>我的通訊錄</h2> <p>以下實例中,我們在 "Adele" 中使用了 data-filtertext="fav" 。這意味著你要找到 "Adele" 需要使用以下關(guān)鍵字:f, a, v 或 fav。</p> <form class="ui-filterable"> <input id="myFilter" data-type="search"> </form> <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true"> <li data-filtertext="fav"><a href="#">Adele</a></li> <li><a href="#">Agnes</a></li> <li><a href="#">Albert</a></li> <li><a href="#">Billy</a></li> <li><a href="#">Bob</a></li> <li><a href="#">Calvin</a></li> <li><a href="#">Cameron</a></li> <li><a href="#">Chloe</a></li> <li><a href="#">Christina</a></li> <li><a href="#">Diana</a></li> <li><a href="#">Frank</a></li> <li><a href="#">Gabriel</a></li> <li><a href="#">Glen</a></li> <li><a href="#">Ralph</a></li> <li><a href="#">Valarie</a></li> </ul> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
如果你在元素中使用了 data-filtertext 屬性,元素的源文本內(nèi)容在過濾時將被忽略, 這時你如果還要查找列表項"Adele",需要使用的關(guān)鍵字為:f, a, v 或 fav。 |

更多實例
過濾折疊列表
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>過濾折疊列表</h1> </div> <div data-role="main" class="ui-content"> <form> <input data-type="search" id="filterCollapsibles"> </form> <div data-role="collapsibleset" data-filter="true" data-inset="true" id="myFilter" data-input="#filterCollapsibles"> <div data-role="collapsible" data-filtertext="Cities"> <h3>城市</h3> <ul data-role="listview" data-inset="false"> <li>Copenhagen</li> <li>Mexico City</li> <li>Oslo</li> <li>Paris</li> </ul> </div> <div data-role="collapsible" data-filtertext="Countries"> <h3>國家</h3> <ul data-role="listview" data-inset="false"> <li>Denmark</li> <li>France</li> <li>Mexico</li> <li>Norway</li> </ul> </div> <div data-role="collapsible" data-filtertext="Days"> <h3>周</h3> <ul data-role="listview" data-inset="false"> <li>Monday</li> <li>Tuesday</li> <li>Wednesday</li> </ul> </div> <div data-role="collapsible" data-filtertext="Months"> <h3>月</h3> <ul data-role="listview" data-inset="false"> <li>January</li> <li>February</li> <li>March</li> </ul> </div> </div> </div> <div data-role="footer"> <h1>文本底部</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
如何過濾折疊的列表。
過濾表格
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <style> th { border-bottom: 1px solid #d6d6d6; } tr:nth-child(even) { background:#e9e9e9; } </style> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>可過濾的表格</h1> </div> <div data-role="main" class="ui-content"> <form> <input id="filterTable-input" data-type="search" placeholder="Search For Customers..."> </form> <table data-role="table" data-mode="columntoggle" class="ui-responsive ui-shadow" id="myTable" data-filter="true" data-input="#filterTable-input"> <thead> <tr> <th data-priority="6">CustomerID</th> <th>CustomerName</th> <th data-priority="1">ContactName</th> <th data-priority="2">Address</th> <th data-priority="3">City</th> <th data-priority="4">PostalCode</th> <th data-priority="5">Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
如何過濾表格內(nèi)容。
過濾 <div> 元素
實例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>過濾所有</h1> </div> <div data-role="main" class="ui-content"> <form> <input data-type="search" id="divOfPs-input"> </form> <div class="elements" data-filter="true" data-input="#divOfPs-input"> <p><strong>These</strong> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam</p> <p><strong>p elements</strong> nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam</p> <p><strong>are</strong> et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est</p> <p><strong>filterable</strong> Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur</p> </div> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
如何過濾 <div> 元素中包含的子 <p> 元素。