Build CRUD Application with jQuery EasyUI

http://www.jeasyui.com/tutorial/app/crud.php

It has become a common necessily for web application to collect data and manage it properly. CRUD allows us to generate pages to list and edit database records. This tutorial will show you how to implement a CRUD DataGrid using jQuery EasyUI framework.

We will use following plugins:

  • datagrid: show the user list data.
  • dialog: create or edit a single user information.
  • form: used to submit form data.
  • messager: to show some operation messages.

Step 1: Prepare database

We will use MySql database to store user information. Create database and ‘users‘ table.

Step 2: Create DataGrid to display user information

Create the DataGrid with no javascript code.

  1. <table id="dg" title="My Users" class="easyui-datagrid" style="width:550px;height:250px"
  2. url="get_users.php"
  3. toolbar="#toolbar"
  4. rownumbers="true" fitColumns="true" singleSelect="true">
  5. <thead>
  6. <tr>
  7. <th field="firstname" width="50">First Name</th>
  8. <th field="lastname" width="50">Last Name</th>
  9. <th field="phone" width="50">Phone</th>
  10. <th field="email" width="50">Email</th>
  11. </tr>
  12. </thead>
  13. </table>
  14. <div id="toolbar">
  15. <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">New User</a>
  16. <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()">Edit User</a>
  17. <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyUser()">Remove User</a>
  18. </div>

We don‘t need to write any javascript code and we can show the user list as following image:

The DataGrid use the ‘url‘ property that is assigned to ‘get_users.php‘ to retrieve data from server.

Code of get_users.php file

  1. $rs = mysql_query(‘select * from users‘);
  2. $result = array();
  3. while($row = mysql_fetch_object($rs)){
  4. array_push($result, $row);
  5. }
  6. echo json_encode($result);

Step 3: Create form dialog

To create or edit a user, we use the same dialog.

  1. <div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px"
  2. closed="true" buttons="#dlg-buttons">
  3. <div class="ftitle">User Information</div>
  4. <form id="fm" method="post" novalidate>
  5. <div class="fitem">
  6. <label>First Name:</label>
  7. <input name="firstname" class="easyui-textbox" required="true">
  8. </div>
  9. <div class="fitem">
  10. <label>Last Name:</label>
  11. <input name="lastname" class="easyui-textbox" required="true">
  12. </div>
  13. <div class="fitem">
  14. <label>Phone:</label>
  15. <input name="phone" class="easyui-textbox">
  16. </div>
  17. <div class="fitem">
  18. <label>Email:</label>
  19. <input name="email" class="easyui-textbox" validType="email">
  20. </div>
  21. </form>
  22. </div>
  23. <div id="dlg-buttons">
  24. <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveUser()" style="width:90px">Save</a>
  25. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$(‘#dlg‘).dialog(‘close‘)" style="width:90px">Cancel</a>
  26. </div>

The dialog is created with no javascript code also.

Step 4: Implement creating and editing a user

When create a user, we open the dialog and clear form data.

  1. function newUser(){
  2. $(‘#dlg‘).dialog(‘open‘).dialog(‘setTitle‘,‘New User‘);
  3. $(‘#fm‘).form(‘clear‘);
  4. url = ‘save_user.php‘;
  5. }

When edit a user, we open the dialog and load form data from the selected datagrid row.

  1. var row = $(‘#dg‘).datagrid(‘getSelected‘);
  2. if (row){
  3. $(‘#dlg‘).dialog(‘open‘).dialog(‘setTitle‘,‘Edit User‘);
  4. $(‘#fm‘).form(‘load‘,row);
  5. url = ‘update_user.php?id=‘+row.id;
  6. }

The ‘url‘ stores the URL address where the form will post to when save the user data.

Step 5: Save the user data

To save the user data we use the following code:

  1. function saveUser(){
  2. $(‘#fm‘).form(‘submit‘,{
  3. url: url,
  4. onSubmit: function(){
  5. return $(this).form(‘validate‘);
  6. },
  7. success: function(result){
  8. var result = eval(‘(‘+result+‘)‘);
  9. if (result.errorMsg){
  10. $.messager.show({
  11. title: ‘Error‘,
  12. msg: result.errorMsg
  13. });
  14. } else {
  15. $(‘#dlg‘).dialog(‘close‘); // close the dialog
  16. $(‘#dg‘).datagrid(‘reload‘); // reload the user data
  17. }
  18. }
  19. });
  20. }

Before submit the form, the ‘onSubmit‘ function will be called, in which we can validate the form field value. When the form field values are submited successfully, close the dialog and reload the datagrid data.

Step 6: Remove a user

To remove a user, we use the following code:

  1. function destroyUser(){
  2. var row = $(‘#dg‘).datagrid(‘getSelected‘);
  3. if (row){
  4. $.messager.confirm(‘Confirm‘,‘Are you sure you want to destroy this user?‘,function(r){
  5. if (r){
  6. $.post(‘destroy_user.php‘,{id:row.id},function(result){
  7. if (result.success){
  8. $(‘#dg‘).datagrid(‘reload‘); // reload the user data
  9. } else {
  10. $.messager.show({ // show error message
  11. title: ‘Error‘,
  12. msg: result.errorMsg
  13. });
  14. }
  15. },‘json‘);
  16. }
  17. });
  18. }
  19. }

Before remove a row, we will display a confirm dialog to let user to determine whether to really remove the row data. When remove data successfully, call ‘reload‘ method to refresh the datagrid data.

Step 7: Run the Code

Run the code in your browser with MySQL started.

So, you now know the basics of CRUD in jQuery EasyUI framework. Press below link to start the demo application.

View Demo

Download the EasyUI example:

easyui-crud-demo.zip

时间: 2024-10-27 00:51:32

Build CRUD Application with jQuery EasyUI的相关文章

jQuery EasyUI 教程

jQuery EasyUI 是一个基于 jQuery的javascript框架,集成了各种用户界面插件.jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点.本教程将告诉您如何使用 jQuery EasyUI 框架创建应用.现在开始学习 jQuery EasyUI!jQuery EasyUI 离线版CHM下载! jQuery EasyUI 教程目录 jQuery EasyUI 教程jQuery EasyUI 简介 jEasyUI 应用jEasyUI 创建 CRUD 应用j

jQuery EasyUI使用教程之构建CRUD应用程序

CRUD应用程序已经成为一个常见的收集数据并且正确管理数据的Web应用程序.CRUD允许我们生成页面列表并且可以编辑数据库记录.本文主要为大家展示如何利用jQuery EasyUI框架来实现CRUD应用程序. 我们将使用以下的插件: 数据网格(datagrid):显示用户列表数据 对话框(dialog):创建或编辑一个用户的信息 form:用于提交表单数据 messager:显示一些操作信息 步骤1:准备数据库 我们将使用MySQL数据库来存储用户信息,创建数据库和"用户"表. 步骤2

使用Struts2和jQuery EasyUI实现简单CRUD系统(八)——Struts与EasyUI使用JSON进行交互

由于前面写了的四篇文章压缩得太厉害,还有真正的原理也没有弄通,所以重新写了使用Struts2和jQuery EasyUI实现简单CRUD系统(一).(二)和(三). 知道ajax与struts间用json交互后,那么EasyUI作为一个JQuery的UI插件集合体,JQuery为一个Javascript库,而ajax是异步的js和xml.JQuery的代码里面就是直接用了Ajax,EasyUI也是一样. 不同于<使用Struts2和jQuery EasyUI实现简单CRUD系统(五)--jsp,

使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)

使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——ajax与struts2的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(三)——ajax,struts2使用json格式的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(四)——基础环境搭建 使用Struts2和jQuery EasyUI实现简单CRU

雷林鹏分享:jQuery EasyUI 应用 - 创建 CRUD 数据网格(DataGrid)

在上一章节中,我们使用对话框(dialog)组件创建了 CRUD 应用来创建和编辑用户信息.本教程我们将告诉您如何创建一个 CRUD 数据网格(DataGrid). 我们将使用 可编辑的数据网格(DataGrid)插件 来完成这些 CRUD 操作动作. 步骤 1:在 HTML 标签中定义数据网格(DataGrid) toolbar="#toolbar" idField="id" rownumbers="true" fitColumns="

使用Struts2和jQuery EasyUI实现简单CRUD系统(五)——jsp,json,EasyUI的结合

这部分比較复杂,之前看过自己的同学开发一个选课系统的时候用到了JSON,可是一直不知道有什么用.写东西也没用到.所以没去学他.然后如今以这样的怀着好奇心,这是做什么用的,这是怎么用的.这是怎么结合的心态去学习,效果非常好. 这次用到的EasyUI的数据网格,DataGrid. 需用引用一个url传来的json数据.然后整齐美观地展如今页面上.想想自己之前做的东西.就直接拿数据库的数据和html的table代码进行拼接,整洁是整洁,可是代码写得特别别扭. 让我站在一个设计者的思路上来看,假设我如今

使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——jsp,json,EasyUI的结合

这部分比较复杂,之前看过自己的同学开发一个选课系统的时候用到了JSON,但是一直不知道有什么用,写东西也没用到,所以没去学他.然后现在以这种怀着好奇心,这是做什么用的,这是怎么用的,这是怎么结合的心态去学习,效果很好. 这次用到的EasyUI的数据网格,DataGrid.需用引用一个url传来的json数据,然后整齐美观地展现在页面上.想想自己之前做的东西,就直接拿数据库的数据和html的table代码进行拼接,整洁是整洁,但是代码写得特别别扭.让我站在一个设计者的思路上来看,如果我现在提供了一

jQuery EasyUI使用教程之创建展开行详细编辑表单的CRUD应用

当切换datagrid视图到"detailview"时,用户可以展开一行来显示该行下面的任何详细信息.此功能允许用户为放置在行详细信息面板中的编辑表单提供恰当的布局.在本教程中,我们使用DataGrid组件来减少编辑表单所占用的空间. 查看演示 Step 1:在HTML标记中创建DataGrid <table id="dg" title="My Users" style="width:550px;height:250px"

雷林鹏分享:jQuery EasyUI 应用 - 创建展开行明细编辑表单的 CRUD 应用

当切换数据网格视图(datagrid view)到 'detailview',用户可以展开一行来显示一些行的明细在行下面.这个功能允许您为防止在明细行面板(panel)中的编辑表单(form)提供一些合适的布局(layout).在本教程中,我们使用数据网格(datagrid)组件来减小编辑表单(form)所占据空间. 步骤 1:在 HTML 标签中定义数据网格(DataGrid) url="get_users.php" toolbar="#toolbar" fitC