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

boyanx3个月前技术教程11

当切换datagrid视图到"detailview"时,用户可以展开一行来显示该行下面的任何详细信息。此功能允许用户为放置在行详细信息面板中的编辑表单提供恰当的布局。在本教程中,我们使用DataGrid组件来减少编辑表单所占用的空间。

Step 1:在HTML标记中创建DataGrid

First NameLast NamePhoneEmail

Step 2:为DataGrid应用详细视图

$('#dg').datagrid({
view: detailview,
detailFormatter:function(index,row){
return ''; }, onExpandRow: function(index,row){ var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv'); ddv.panel({ border:false, cache:true, href:'show_form.php?index='+index, onLoad:function{ $('#dg').datagrid('fixDetailRowHeight',index); $('#dg').datagrid('selectRow',index); $('#dg').datagrid('getRowDetail',index).find('form').form('load',row); } }); $('#dg').datagrid('fixDetailRowHeight',index); } });

若要使用DataGrid的详细视图,那么就在html 页面头部引入"datagrid-detailview.js"文件。

我们使用"detailFormatter"函数来生成行详细信息内容。在这种情况下,我们返回一个用于放置编辑表单的空的 。当用户点击该行展开按钮("+")时,"onExpandRow"事件将被触发,我们可以通过AJAX加载编辑表单。使用getRowDetail方法可以获得该行的详细信息容器,因此我们能够查找到该行的详细信息面板。在行详细信息中创建面板,并从"show_form.php"中加载返回的编辑表单。

Step 3:创建编辑表单

从服务器中加载编辑表单。

show_form.php

Step 4:保存或取消编辑

调用"saveItem"函数来保存用户,或调用"cancelItem"函数来取消编辑。

function saveItem(index){
var row = $('#dg').datagrid('getRows')[index];
var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?id='+row.id;
$('#dg').datagrid('getRowDetail',index).find('form').form('submit',{
url: url,
onSubmit: function{
return $(this).form('validate');
},
success: function(data){
data = eval('('+data+')');
data.isNewRecord = false;
$('#dg').datagrid('collapseRow',index);
$('#dg').datagrid('updateRow',{
index: index,
row: data
});
}
});
}

确定首先要发布哪一个URL,然后查找表单对象,并调用"submit"方法来提交表单数据。当数据保存成功后,收起并更新行数据。

function cancelItem(index){
var row = $('#dg').datagrid('getRows')[index];
if (row.isNewRecord){
$('#dg').datagrid('deleteRow',index);
} else {
$('#dg').datagrid('collapseRow',index);
}
}

当取消编辑操作时,如果该行是新行而且还没有保存,那么直接删除该行,否则收起该行。

下载EasyUI示例:easyui-crud-demo.zip

本站文章除注明转载外,均为本站原创或翻译

标签: jquery下载

相关文章

jQuery JavaScript的综合性UI组件库jQWidgets v4.1.0发布

立即下载最新版:jQWidgets v4.1.0jQWidgets是一个基于jQuery、JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,...

JavaScript学习笔记(三十一)—jQuery(上)

jQueryjQuery 是一个前端库,也是一个方法库他里面封装着一些列的方法供我们使用我们常用的一些方法它里面都有,我们可以直接拿来使用就行了jQuery 之所以好用,很多人愿意使用,是因为它的几个...

jQuery EasyUI使用教程:数据网格中的列运算

jQuery EasyUI最新试用版免费下载>在本教程中,您将学习如何在可编辑的数据网格中包含一个运算列。计算列一般含有一个或多个其他列计算的值。首先创建可编辑的数据网格。在这里我们创建了一些可...

jQuery EasyUI使用教程:根据条件更换数据网格行背景颜色

jQuery EasyUI最新试用版免费下载>本教程将为大家介绍在某些条件下如何更改数据网格组件的行样式。当listprice值大于50时,我们将为该行设置不同的颜色。数据网格的rowStyle...

用户界面框架jQuery EasyUI示例大全之Application

jQuery EasyUI最新试用版免费下载>jQuery EasyUI致力于帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。jQuery EasyUI提供了基于当下流行的jQuery...

jQuery 3.0 正式发布,兼容 Promises/A+

jQuery 3.0 正式发布,此版本从 2014 年 10 月份就开始开发,jQuery 团队想打造成轻量级的,速度更快,向后兼容的 jQuery 版本。此版本移除了所有旧版 IE 的方法,并且借鉴...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。