jQuery Mobile 클...login
jQuery Mobile 클래식 튜토리얼
작가:php.cn  업데이트 시간:2022-04-11 13:58:34

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>

인스턴스 실행 »

온라인 인스턴스를 보려면 '인스턴스 실행' 버튼을 클릭하세요.

테이블 콘텐츠를 필터링하는 방법.

<div> 요소 필터링


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>
<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>

예제 실행»
온라인 예를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
다음에 포함된 하위 항목을 필터링하는 방법 <p> <div> 요소입니다.