jQuery 모바일 필터링
필터링 가능한 요소
모든 요소에 하나 이상의 하위 요소가 있는 경우 필터링할 수 있습니다.
검색 필드를 만드는 방법:
필터링하려는 요소는 다음을 사용해야 합니다. data-filter="true" 속성.
<input> 요소를 생성하고 ID를 지정하고 추가하세요. 데이터 유형="검색" 속성. 그러면 기본 검색 필드가 생성됩니다. <input> 요소를 양식 안에 배치하고 양식 <form> 요소는 "ui-filterable" 클래스를 사용합니다. 이 클래스는 검색 필드와 필터 요소의 여백을 조정합니다.
그런 다음 필터링된 요소에 data-input 속성을 추가하세요. 값은 <input> 요소의 ID여야 합니다.
다음으로 필터링 가능한 목록을 만듭니다.
Instances
<!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>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
팁:에서 찾을 수 있습니다. 검색 필드 자리 표시자 속성을 사용하여 프롬프트 정보를 설정합니다.
Instance
<!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="根据名称搜索.."> </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는 "Adele" 또는 "B"에 해당합니다. "Billy"에 해당합니다). 그러나 사용자 정의 필터링된 텍스트를 지정하려면 하위 요소에서 data-filtertext 속성을 사용해야 합니다.
Example
<!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" 需要使用以下关键字: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 속성을 사용하면 필터링 시 해당 요소의 소스 텍스트 내용이 무시됩니다. 이때 목록 항목 "Adele"을 찾으세요. , f, a, v 또는 fav라는 키워드를 사용해야 합니다. |
테이블 필터링
Instance
<!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>