jQuery EasyUI中对表格进行编辑的实现代码

 更新时间:2010年06月10日 23:08:42   作者:  
对表格进行增删改后一次性保存或回滚的发生相当有用。参照官方的教程例子做了个用户管理的小例子。
效果图:

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery EasyUI</title>
<link rel="stylesheet" type="text/css" href="../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../themes/icon.css">
<script type="text/javascript" src="../jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../jquery.easyui.min.js"></script>
<script>
var users = {total:6,rows:[
{no:1,name:'用户1',addr:'山东济南',email:'user1@163.com',birthday:'1/1/1980'},
{no:2,name:'用户2',addr:'山东济南',email:'user2@163.com',birthday:'1/1/1980'},
{no:3,name:'用户3',addr:'山东济南',email:'user3@163.com',birthday:'1/1/1980'},
{no:4,name:'用户4',addr:'山东济南',email:'user4@163.com',birthday:'1/1/1980'},
{no:5,name:'用户5',addr:'山东济南',email:'user5@163.com',birthday:'1/1/1980'},
{no:6,name:'用户6',addr:'山东济南',email:'user6@163.com',birthday:'1/1/1980'}
]};
$(function(){
$('#tt').datagrid({
title:'Editable DataGrid',
iconCls:'icon-edit',
width:530,
height:250,
singleSelect:true,
columns:[[
{field:'no',title:'编号',width:50,editor:'numberbox'},
{field:'name',title:'名称',width:60,editor:'text'},
{field:'addr',title:'地址',width:100,editor:'text'},
{field:'email',title:'电子邮件',width:100,
editor:{
type:'validatebox',
options:{
validType:'email'
}
}
},
{field:'birthday',title:'生日',width:80,editor:'datebox'},
{field:'action',title:'操作',width:70,align:'center',
formatter:function(value,row,index){
if (row.editing){
var s = '<a href="#" onclick="saverow('+index+')">保存</a> ';
var c = '<a href="#" onclick="cancelrow('+index+')">取消</a>';
return s+c;
} else {
var e = '<a href="#" onclick="editrow('+index+')">编辑</a> ';
var d = '<a href="#" onclick="deleterow('+index+')">删除</a>';
return e+d;
}
}
}
]],
toolbar:[{
text:'增加',
iconCls:'icon-add',
handler:addrow
},{
text:'保存',
iconCls:'icon-save',
handler:saveall
},{
text:'取消',
iconCls:'icon-cancel',
handler:cancelall
}],
onBeforeEdit:function(index,row){
row.editing = true;
$('#tt').datagrid('refreshRow', index);
editcount++;
},
onAfterEdit:function(index,row){
row.editing = false;
$('#tt').datagrid('refreshRow', index);
editcount--;
},
onCancelEdit:function(index,row){
row.editing = false;
$('#tt').datagrid('refreshRow', index);
editcount--;
}
}).datagrid('loadData',users).datagrid('acceptChanges');
});
var editcount = 0;
function editrow(index){
$('#tt').datagrid('beginEdit', index);
}
function deleterow(index){
$.messager.confirm('确认','是否真的删除?',function(r){
if (r){
$('#tt').datagrid('deleteRow', index);
}
});
}
function saverow(index){
$('#tt').datagrid('endEdit', index);
}
function cancelrow(index){
$('#tt').datagrid('cancelEdit', index);
}
function addrow(){
if (editcount > 0){
$.messager.alert('警告','当前还有'+editcount+'记录正在编辑,不能增加记录。');
return;
}
$('#tt').datagrid('appendRow',{
no:'',
name:'',
addr:'',
email:'',
birthday:''
});
}
function saveall(){
$('#tt').datagrid('acceptChanges');
}
function cancelall(){
$('#tt').datagrid('rejectChanges');
}
</script>
</head>
<body>
<h1>Editable DataGrid</h1>
<table id="tt"></table>
</body>
</html>

相关文章

  • jQuery+PHP+Mysql实现抽奖程序

    jQuery+PHP+Mysql实现抽奖程序

    这篇文章主要为大家详细介绍了jQuery+PHP+Mysql实现抽奖程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Jquery uploadify 多余的Get请求(404错误)的解决方法

    Jquery uploadify 多余的Get请求(404错误)的解决方法

    下面小编就为大家带来一篇Jquery uploadify 多余的Get请求(404错误)的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • jquery中交替点击事件的实现代码

    jquery中交替点击事件的实现代码

    这篇文章主要介绍了jquery中交替点击事件的实现代码,需要的朋友可以参考下
    2014-02-02
  • 解析jQuery与其它js(Prototype)库兼容共存

    解析jQuery与其它js(Prototype)库兼容共存

    解决jQuery与其它js(Prototype)库冲突的方法很简单,就是使用jQuery的jQuery.noConflict()函数,以下小编就为大家介绍,需要的朋友可以参考下
    2013-07-07
  • jquery请求servlet实现ajax异步请求的示例

    jquery请求servlet实现ajax异步请求的示例

    下面小编就为大家带来一篇jquery请求servlet实现ajax异步请求的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • jQuery实现简洁的导航菜单效果

    jQuery实现简洁的导航菜单效果

    这篇文章主要介绍了jQuery实现简洁的导航菜单效果,简洁大方的导航菜单,需要的朋友可以参考下
    2015-11-11
  • 基于jquery的blockui插件显示弹出层

    基于jquery的blockui插件显示弹出层

    在做网站的开发过程中,可能需要使用弹出层,使用jquery的blockui插件可以很轻松的实现这个效果。
    2011-04-04
  • jquery提升性能最佳实践小结

    jquery提升性能最佳实践小结

    因为jquery的易用性,很多朋友使用jquery,但仍然需要注意的是性能的问题,下面是曾祥展特为大家整理的一些技巧。
    2010-12-12
  • jQuery过滤选择器详解

    jQuery过滤选择器详解

    本文主要给大家详细介绍了jQuery过滤选择器,包含基本过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器等,十分全面,需要的朋友可以参考下
    2015-01-01
  • jQuery实现动态操作table行

    jQuery实现动态操作table行

    这篇文章主要为大家详细介绍了jQuery实现动态操作table行,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11

最新评论