zoukankan      html  css  js  c++  java
  • jQuery EasyUI中对表格进行编辑

    对表格进行增删改后一次性保存或回滚的发生相当有用。参照官方的教程例子做了个用户管理的小例子。

    <!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',
    				530,
    				height:250,
    				singleSelect:true,
    				columns:[[
    					{field:'no',title:'编号',50,editor:'numberbox'},
    					{field:'name',title:'名称',60,editor:'text'},
    					{field:'addr',title:'地址',100,editor:'text'},
    					{field:'email',title:'电子邮件',100,
    						editor:{
    							type:'validatebox',
    							options:{
    								validType:'email'
    							}
    						}
    					},
    					{field:'birthday',title:'生日',80,editor:'datebox'},
    					{field:'action',title:'操作',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>
    

  • 相关阅读:
    线性筛素数
    m个苹果放入n个盘子问题
    幸运的袋子
    [HNOI2013]消毒
    [SDOI2016]数字配对
    [SCOI2015]小凸玩矩阵
    [JLOI2008]将军
    [HEOI2016/TJOI2016]游戏
    [洛谷4329/COCI2006-2007#1] Bond
    [BZOJ1324]Exca王者之剑
  • 原文地址:https://www.cnblogs.com/front/p/1754815.html
Copyright © 2011-2022 走看看