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) 处显示列。
分组列标题
列数据可以显示在财务数据的每个分组标题下。 您可以使用优先级属性来解析指定的行并将标题组显示为选项。 任何被赋予优先级的表格标题都将在列选择器菜单中可用。

