jQuery Mobile - 列切换
描述
列切换将列置于隐藏位置,并允许用户使用 data-mode = "columntoggle" 属性根据自己的选择选择列。
示例
以下示例演示了在 jQuery Mobile 框架中使用 column toggle 列切换。
<!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.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src = "https://code.jquery.com/jquery-1.11.3.min.js"></script> <script src = "https://code.jquery.com/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 文件打开为 http://localhost/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。表头将包含数据- 优先级属性,将在列菜单中可用。
主题和定制
默认情况下,按钮上的文本是"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">
You can use following preset styles for each priority levels −
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) 处显示列。
分组列标题
列数据可以显示在财务数据的每个分组标题下。 您可以使用优先级属性来解析指定的行并将标题组显示为选项。 任何被赋予优先级的表格标题都将在列选择器菜单中可用。