交互式数据网格与表单优化指南
立即解锁
发布时间: 2025-08-21 00:41:41 阅读量: 1 订阅数: 3 


jQuery for Designers: 初学者指南
### 交互式数据网格与表单优化指南
#### 1. 创建交互式数据网格
首先,我们搭建了一个基本的 HTML 表格,并通过添加 CSS 和 DataTables 插件将其转换为交互式数据网格。具体操作是选择表格并调用 `dataTable()` 方法来激活 DataTables 插件。不过,默认的淡紫色设计可能不适合你的网站风格,接下来我们将学习如何自定义数据表格的外观。
##### 自定义数据网格
DataTables 插件支持 jQuery UI Themeroller,这是一个可以帮助我们创建自定义主题的工具。以下是自定义数据网格外观的详细步骤:
1. 访问 [jQuery UI Themeroller](http://jqueryui.com/themeroller)。在左侧列中,你可以选择预定义主题或创建自定义主题;右侧宽列包含多种不同类型小部件的示例。
2. 点击左侧列中的“Gallery”标签,这里有数十种预建的 Themeroller 主题供你选择。点击不同的示例,右侧列中的示例小部件会更新以反映该样式。通常,我会先选择一个与我想要的配色方案或外观相近的预建主题,然后切换到“Roll Your Own”标签进行微调。在这个例子中,我选择了 Cupertino 风格。切换到“Roll Your Own”标签后,你可以对字体、颜色、边角、标题等进行调整,直到主题符合你的需求。如果调整过度,不满意当前效果,可轻松切换回“Gallery”标签,重新选择预建主题并重新开始。注意,重新选择预建主题会丢失之前的自定义设置,所以满意后要及时进入下一步保存。
3. 当主题设置好后,点击“Download Theme”按钮。
4. 你会进入“Build Your Download”页面,由于 jQuery UI 功能丰富,为避免下载不必要的内容,该页面允许你选择所需组件。因为我们只需要主题,所以点击页面顶部的“Deselect all components”链接,然后保持“Theme”和“Version”设置为默认值,点击“Download”按钮下载 ZIP 文件。
5. 解压文件后,你会看到多个文件。我们只需要主题,将主题文件夹复制到项目的 `styles` 目录中。我的主题文件夹名为 `cupertino`,如果你选择了不同主题,文件夹名称会不同,但它是 `css` 文件夹中唯一的文件夹,很容易找到。
6. 将主题 CSS 文件附加到 HTML 文件的 `<head>` 部分,且要在之前示例中附加的 `demo_table.css` 文件之前添加:
```html
<link rel="stylesheet" href="styles/cupertino/jquery-ui-1.8.16.custom.css"/>
<link rel="stylesheet" href="styles/demo_table.css"/>
```
7. 主题 CSS 文件可能无法满足数据网格的所有样式需求,不过 DataTables 插件作者 Allan Jardine 提供了一个 CSS 文件。你可以在 [DataTables 文档](http://datatables.net/styling/) 中了解更多关于样式设置的信息。在 DataTables 插件文件的 `media` 文件夹中的 `css` 文件夹里找到 `demo_table_jui.css` 文件,将其复制到自己的 `styles` 文件夹,并更新 `<link>` 标签:
```html
<link rel="stylesheet" href="styles/cupertino/jquery-ui-1.8.16.custom.css"/>
<link rel="stylesheet" href="styles/demo_table_jui.css"/>
```
8. 对 JavaScript 代码进行小更新,告诉 `dataTable()` 方法我们要使用 jQuery UI。在 `scripts.js` 文件中添加以下代码:
```javascript
$(document).ready(function(){
$('#book-grid').dataTable({
'bJQueryUI': true
});
});
```
刷新浏览器页面,你会发现数据网格的样式与 jQuery UI Themeroller 页面上的小部件一致,但表格行的配色方案仍是淡紫色。
9. 调整配色方案。打开 `demo_table_jui.css` 文件,更新以下代码:
```css
tr.odd {
background-color: #f1f7fb;
}
tr.even {
background-color: white;
}
```
这里我选择奇数行为淡蓝色,偶数行为白色,你可以根据所选主题选择合适的颜色。
10. 更改当前排序行的配色方案。在第 380 行找到排序奇数行的 CSS 代码,将其修改为:
```css
tr.odd td.sorting_1 {
background-color: #d6e7f4;
}
```
11. 在第 392 行找到排序偶数行的 CSS 代码,修改为:
```css
tr.even td.sorting_1 {
background-color: #e4eff8;
}
```
刷新浏览器页面,你会看到表格的斑马线样式与 Themeroller 主题相匹配。
除了外观自定义,我们还可以对数据网格的行为进行一些调整:
- **将分页按钮改为数字**:通过向 `dataTable` 方法传递键值对来实现:
```javascript
$(document).ready(function(){
$('#book-grid').dataTable({
'sPaginationType': 'full_numbers',
'bJQueryUI': true
});
});
```
刷新页面后,简单的按钮将被分页数字取代。
- **禁用搜索框过滤**:同样传递键值对:
```javascript
$(document).ready(function(){
$('#book-grid').dataTable({
'sPaginationType': 'full_numbers',
'bJQueryUI': true,
'bFilter': false
});
});
```
刷新页面,搜索框将消失。
- **设置默认排序**:默认情况下,DataTables 插件按第一列升序排序。如果我们要按销量降序显示书籍,可以传递以下键值对:
```javascript
$(document).ready(function(){
$('#book-grid').dataTable({
'sPaginationType': 'full_numbers',
'bJQueryUI': true,
'bFilter': false,
'aaSorting': [[4, 'desc']]
});
});
```
注意,JavaScript 从 0 开始计数,所以第五列实际是列 4,`'desc'` 表示降序。刷新页面后,书籍将按销量从高到低排序,同时这不会影响访客按其他列进行排序。
整个自定义过程可以用以下 mermaid 流程图表示:
```mermaid
graph LR
A[访问 jQuery UI Themeroller] --> B[选择预建主题]
B --> C[切换到 Roll Your Own 标签微调]
C --> D[下载主题]
D --> E[解压文件并复制主题文件夹]
E --> F[附加主题 CSS 文件]
F --> G[复制 demo_table_jui.css 文件并更新链接]
G --> H[更新 JavaScript 代码启用 jQuery UI]
H --> I[调整配色方案]
I --> J[调整分页和排序设置]
```
#### 2. 改进表单
如果你曾经处理过网页表单,就会知道这可能是一件令人头疼的事。幸运的是,HTML5 的开发者们正在努力改善这种情况。虽然我们还在等待浏览器完全支持 HTML5 的新特性,但现在就可以开始构建漂亮且功能完善的表单。
##### HTML5 网页表单
我们可以利用 HTML5 的一些新属性来构建表单,这些属性具有完全的向后兼容性,不支持的浏览器会忽略它们或默认使用简单的文本输入。需要注意的是,网页表单需要后端编程来收集和处理表单数据,本章构建的表单点击“Submit”按钮后不会有实际动作。如果你想添加一个可用的表单,有以下几种选择:
- 学习服务器端编程来处理表单,但这超出了本文的范围。
- 使用内容管理系统(CMS),如 Drupal、WordPress 或 Joomla!,它们通常在核心功能或插件中包含表单处理功能。
- 聘请服务器端开发者或与开发者交换技能来
0
0
复制全文
相关推荐









