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

boyanx4个月前技术教程20

当切换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下载

相关文章

web前端Jquery学习笔记一

学习大纲一、了解Jquery1.什么是jqueryJquery 是一款优秀的JavaScript框架,它是一个轻量的JS库,它兼容CSS3,还兼容各种浏览器(IE6.0+,火狐1.5+,谷歌,safa...

使用jQuery开发一个带有密码强度检验的超酷注册页面

在线演示1本地下载在今天的jQuery教程中,我们将介绍如何使用jQuery和其它相关的插件来生成一个漂亮的带有密码强度检验的注册页面,希望大家喜欢!相关的插件和类库complexify- 一个密码强...

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

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

jQuery插件注册表停止处理新发布,未来仍不明朗

jQuery插件注册表现在已经转换到只读模式并且不再发布任何新的插件。取而代之的是,jQuery鼓励开发者将他们的插件发布到npm上。尽管如此,注册表的未来仍不明朗。jQuery插件注册表的访问者会收...

jQuery 安装

本节我们学习 jQuery 的安装,我们在实际项目中,如果要使用 jQuery,则需要先下载 jQuery 库,然后把它引入到要使用的网页中。jQuery 有下面几种使用方法:从官网下载 jQuery...

一文说明白,jQuery是干什么的

● jQuery于2006年1月由John Resig在BarCamp NYC首次发布。它目前由Timmy Wilson领导, 并由一组开发人员维护。● jQuery是一个JavaScript库,它简...

发表评论    

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