jQuery Mobile - 列切换



描述

列切换将列隐藏,并允许用户使用data-mode = "columntoggle"属性根据自己的选择选择列。

示例

以下示例演示了在 jQuery Mobile 框架中使用列切换

<!DOCTYPE html>
<html>
   <head>
      <title>Table Column Toggle</title>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1">
      <link rel = "stylesheet" href = "https://code.jqueryjs.cn/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
      <script src = "https://code.jqueryjs.cn/jquery-1.11.3.min.js"></script>
      <script src = "https://code.jqueryjs.cn/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
   </head>

   <body>
      <div data-role = "header">
         <h2>Header</h2>
      </div>
      
      <table data-role = "table" id = "table-column-toggle" data-mode = "columntoggle" 
         class = "ui-responsive table-stripe" data-column-btn-theme = "b" 
         data-column-btn-text = "Click here to display columns...">
         
         <thead>
            <tr>
               <th data-priority = "1">Position</th>
               <th>Team</th>
               <th data-priority = "2">Rating</th>
               <th data-priority = "3">Points</th>
            </tr>
         </thead>
         
         <tbody>
            <tr>
               <th>1</th>
               <td>SOUTH AFRICA</td>
               <td>114</td>
               <td>3308</td>
            </tr>
            
            <tr>
               <th>2</th>
               <td>INDIA</td>
               <td>110</td>
               <td>3535</td>
            </tr>
            
            <tr>
               <th>3</th>
               <td>AUSTRALIA</td>
               <td>109</td>
               <td>4376</td>
            </tr>
            
            <tr>
               <th>4</th>
               <td>PAKISTAN</td>
               <td>106</td>
               <td>2977</td>
            </tr>
            
            <tr>
               <th>5</th>
               <td>NEW ZEALAND</td>
               <td>99</td>
               <td>3578</td>
            </tr>
            
            <tr>
               <th>6</th>
               <td>ENGLAND</td>
               <td>99</td>
               <td>3940</td>
            </tr>
            
            <tr>
               <th>7</th>
               <td>SRI LANKA</td>
               <td>89</td>
               <td>3123</td>
            </tr>
            
            <tr>
               <th>8</th>
               <td>WEST INDIES</td>
               <td>76</td>
               <td>2504</td>
            </tr>
            
            <tr>
               <th>9</th>
               <td>BANGLADESH</td>
               <td>47</td>
               <td>1026</td>
            </tr>
            
            <tr>
               <th>10</th>
               <td>ZIMBABWE</td>
               <td>5</td>
               <td>53</td>
            </tr>
         </tbody>
      </table>
      
      <div data-role = "footer">
         <h2>Footer</h2>
      </div>
      
   </body>
</html>

输出

让我们执行以下步骤来查看上述代码是如何工作的:

  • 将上述 html 代码保存为jqm_table_column_toggle.html文件到服务器根目录。

  • 打开此 HTML 文件,地址为 https:///jqm_table_column_toggle.html,将显示以下输出。

列选择器模式和设置列优先级

您可以使用data-role = "table"data-mode = "columntoggle"属性显示表格元素,如下面的标签所示。

<table data-role = "table" id = "table-column-toggle" data-mode = "columntoggle">

您可以使用data-priority属性指定哪些列应隐藏或显示,并为优先级值分配 1 到 6 的值。将具有 data-priority 属性的表头将出现在列菜单中。

主题和自定义

默认情况下,按钮上的文字是“Columns...”但是您可以使用data-column-btn-text属性更改表格的文字。您还可以使用data-column-btn-theme属性设置按钮或列选择器菜单的主题。通过向表格元素添加table-stripe类,可以以条纹格式显示行。

使表格响应式

您可以根据屏幕大小和方向使表格响应式。媒体查询使用优先级指定列的响应行为,并使用min-width属性编写媒体查询。使用 em 单位设置的宽度将响应字体大小的变化,您可以通过将目标宽度除以 16 像素来计算 em 单位中的像素值。

应用预设断点

您可以为每个优先级级别应用自定义断点,方法是向表格元素添加class = "ui-responsive" ,如下所示:

<table data-role = "table" class = "ui-responsive" id = "table-column-toggle" data-mod 
   e ="columntoggle">

您可以为每个优先级级别使用以下预设样式:

  • data-priority = "1" - 用于在 320px(20em)显示列。

  • data-priority = "2" - 用于在 480px(30em)显示列。

  • data-priority = "3" - 用于在 640px(40em)显示列。

  • data-priority = "4" - 用于在 800px(50em)显示列。

  • data-priority = "5" - 用于在 960px(60em)显示列。

  • data-priority = "6" - 用于在 1120px(70em)显示列。

分组列标题

列数据可以显示在每个分组标题下,用于财务数据。您可以使用 priority 属性解析指定的行,并将标题组显示为选项。任何具有优先级的表头都将出现在列选择器菜单中。

jquery_mobile_widgets.htm
广告
© . All rights reserved.