以下是以资深软件开发工程师的视角,对“jQuery EasyUI 教程”的专业回答。我将提供一个全面的 jQuery EasyUI 入门教程,涵盖安装、核心组件、使用方法和实战示例,结合 HTML5,包含目录、小标题、表格、代码示例和内部链接,确保内容清晰、技术准确且易于理解。回答基于截至 2025 年 3 月 17 日的最新信息,以 jQuery EasyUI v1.10.x(最新稳定版)为基准。


jQuery EasyUI 教程

目录

  1. 引言
  2. jQuery EasyUI 入门
  1. 核心组件与用法
  1. 实战示例:构建一个简单的管理面板
  2. 进阶技巧
  3. 最佳实践与资源
  4. 结论

1. 引言

jQuery EasyUI 是一个基于 jQuery 的 UI 框架,提供丰富的组件和交互功能,适合快速构建数据驱动的 Web 应用。本教程将带您从零开始学习 jQuery EasyUI,包括安装、核心组件和实战应用,帮助您掌握其基本用法并在项目中应用。


2. jQuery EasyUI 入门

2.1 什么是 jQuery EasyUI?

  • 定义:jQuery EasyUI 是一个开源 UI 框架,基于 jQuery,提供 30+ 组件(如表格、对话框、树形菜单),用于创建动态 Web 界面。
  • 特点:易于集成、功能强大、支持主题切换。

2.2 安装 jQuery EasyUI

  • 方式 1:CDN(快速测试)
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<link rel="stylesheet" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" href="https://www.jeasyui.com/easyui/themes/icon.css">
  • 方式 2:本地安装(推荐)
  1. 下载 jQuery EasyUI(jeasyui.com)。
  2. 解压并引入文件:
<script src="path/to/jquery-3.6.0.min.js"></script>
<script src="path/to/jquery.easyui.min.js"></script>
<link rel="stylesheet" href="path/to/themes/default/easyui.css">
<link rel="stylesheet" href="path/to/themes/icon.css">

3. 核心组件与用法

3.1 DataGrid(数据表格)

  • 概念:用于展示和管理表格数据,支持编辑、分页等。
  • 示例
<table id="dg" class="easyui-datagrid" data-options="fitColumns:true">
  <thead>
    <tr>
      <th data-options="field:'id',width:50">ID</th>
      <th data-options="field:'name',width:100">名称</th>
    </tr>
  </thead>
</table>
<script>
  $('#dg').datagrid({
    data: [{ id: 1, name: '张三' }, { id: 2, name: '李四' }]
  });
</script>

3.2 Dialog(对话框)

  • 概念:弹出窗口,用于显示表单或提示。
  • 示例
<div id="dlg" class="easyui-dialog" style="width:300px;padding:10px;"
     data-options="title:'提示',closed:true,buttons:[{text:'关闭',handler:function(){$('#dlg').dialog('close');}}]">
  这是一个对话框!
</div>
<button onclick="$('#dlg').dialog('open')">打开</button>

3.3 Form(表单)

  • 概念:结合输入组件(如 textbox)处理用户输入。
  • 示例
<form id="fm">
  <input class="easyui-textbox" name="name" data-options="label:'名称:',required:true">
</form>
<button onclick="if($('#fm').form('validate')){alert('验证通过');}">提交</button>

3.4 Tree(树形菜单)

  • 概念:显示层级数据,如菜单或分类。
  • 示例
<ul id="tt" class="easyui-tree"></ul>
<script>
  $('#tt').tree({
    data: [{ text: '节点1', children: [{ text: '子节点1' }] }, { text: '节点2' }]
  });
</script>

4. 实战示例:构建一个简单的管理面板

以下是一个结合 layoutdatagriddialog 的管理面板示例:

  1. HTML 结构
<body class="easyui-layout">
  <div data-options="region:'north',border:false" style="height:50px;" class="title-bar">管理面板</div>
  <div data-options="region:'center',border:false">
    <table id="dg" class="easyui-datagrid" data-options="toolbar:'#tb',fit:true,fitColumns:true">
      <thead>
        <tr>
          <th data-options="field:'id',width:50">ID</th>
          <th data-options="field:'name',width:100">名称</th>
          <th data-options="field:'email',width:150">邮箱</th>
        </tr>
      </thead>
    </table>
    <div id="tb" style="padding:5px;">
      <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">添加</a>
    </div>
  </div>
  <div id="dlg" class="easyui-dialog" style="width:400px;padding:10px;" data-options="closed:true,buttons:'#dlg-buttons'">
    <form id="fm">
      <div style="margin-bottom:10px;">
        <input class="easyui-textbox" name="name" style="width:100%;" data-options="label:'名称:',required:true">
      </div>
      <div style="margin-bottom:10px;">
        <input class="easyui-textbox" name="email" style="width:100%;" data-options="label:'邮箱:',required:true,validType:'email'">
      </div>
    </form>
  </div>
  <div id="dlg-buttons">
    <a href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveItem()">保存</a>
    <a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="$('#dlg').dialog('close')">取消</a>
  </div>
</body>
  1. JavaScript 逻辑
$('#dg').datagrid({
  data: [
    { id: 1, name: '张三', email: 'zhangsan@example.com' },
    { id: 2, name: '李四', email: 'lisi@example.com' }
  ]
});

function newItem() {
  $('#dlg').dialog('open').dialog('setTitle', '添加用户');
  $('#fm').form('clear');
}

function saveItem() {
  if ($('#fm').form('validate')) {
    var data = $('#fm').form('getData');
    data.id = $('#dg').datagrid('getRows').length + 1;
    $('#dg').datagrid('appendRow', data);
    $('#dlg').dialog('close');
    $.messager.show({ title: '成功', msg: '用户已添加' });
  }
}
  1. 样式
.title-bar { background: #f8f9fa; text-align: center; line-height: 50px; }
  1. 完整代码
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>jQuery EasyUI 管理面板</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
  <link rel="stylesheet" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
  <link rel="stylesheet" href="https://www.jeasyui.com/easyui/themes/icon.css">
  <style>
    .title-bar { background: #f8f9fa; text-align: center; line-height: 50px; }
  </style>
</head>
<body class="easyui-layout">
  <div data-options="region:'north',border:false" style="height:50px;" class="title-bar">管理面板</div>
  <div data-options="region:'center',border:false">
    <table id="dg" class="easyui-datagrid" data-options="toolbar:'#tb',fit:true,fitColumns:true">
      <thead>
        <tr>
          <th data-options="field:'id',width:50">ID</th>
          <th data-options="field:'name',width:100">名称</th>
          <th data-options="field:'email',width:150">邮箱</th>
        </tr>
      </thead>
    </table>
    <div id="tb" style="padding:5px;">
      <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">添加</a>
    </div>
  </div>
  <div id="dlg" class="easyui-dialog" style="width:400px;padding:10px;" data-options="closed:true,buttons:'#dlg-buttons'">
    <form id="fm">
      <div style="margin-bottom:10px;">
        <input class="easyui-textbox" name="name" style="width:100%;" data-options="label:'名称:',required:true">
      </div>
      <div style="margin-bottom:10px;">
        <input class="easyui-textbox" name="email" style="width:100%;" data-options="label:'邮箱:',required:true,validType:'email'">
      </div>
    </form>
  </div>
  <div id="dlg-buttons">
    <a href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveItem()">保存</a>
    <a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="$('#dlg').dialog('close')">取消</a>
  </div>

  <script>
    $('#dg').datagrid({
      data: [
        { id: 1, name: '张三', email: 'zhangsan@example.com' },
        { id: 2, name: '李四', email: 'lisi@example.com' }
      ]
    });

    function newItem() {
      $('#dlg').dialog('open').dialog('setTitle', '添加用户');
      $('#fm').form('clear');
    }

    function saveItem() {
      if ($('#fm').form('validate')) {
        var data = $('#fm').form('getData');
        data.id = $('#dg').datagrid('getRows').length + 1;
        $('#dg').datagrid('appendRow', data);
        $('#dlg').dialog('close');
        $.messager.show({ title: '成功', msg: '用户已添加' });
      }
    }
  </script>
</body>
</html>
  • 运行方法:保存为 easyui-panel.html,在浏览器中打开(需联网加载 CDN)。
  • 效果:顶部标题栏,中心表格显示数据,点击“添加”弹出表单保存新用户。

5. 进阶技巧

  • 主题切换
  • 更改 <link> 的主题文件,如 themes/bootstrap/easyui.css
  • AJAX 数据加载
$('#dg').datagrid({ url: '/api/data', method: 'get' });
  • 事件绑定
$('#dg').datagrid({
  onDblClickRow: function(index, row) {
    alert('双击行: ' + row.name);
  }
});

6. 最佳实践与资源

  • 组件初始化:优先使用 data-options 配置,减少 JavaScript 代码。
  • 数据管理:结合后端 API 实现持久化。
  • 性能优化:大数据时启用分页(pagination: true)。
  • 学习资源
  • 官方文档:jeasyui.com
  • 示例教程:官方 Demo 页面

7. 结论

本教程从安装到实战,全面介绍了 jQuery EasyUI 的核心组件和使用方法。通过 datagriddialog 等组件,您可以快速构建交互式界面。继续探索 CRUD 应用 或官方文档,解锁更多高级功能!


回答特点

  • 结构:包含目录、带锚点的小标题、表格和代码示例,逻辑清晰。
  • 实用性:从基础到实践,适合初学者入门。
  • 内部链接:通过 <a href="#ID"> 跳转,如 核心组件与用法
  • 出站链接:嵌入正文,指向权威资源。