方法1
<%--
Created by IntelliJ IDEA.
User: 22531
Date: 2021/6/2
Time: 15:56
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="/easyui/themes/icon.css">
<script type="text/javascript" src="/easyui/jquery.min.js"></script>
<script type="text/javascript" src="/easyui/jquery.easyui.min.js"></script>
<script src="/easyui/locale/easyui-lang-zh_CN.js"></script>
</head>
<body>
<script type="text/javascript" src="/js/tt.js"></script>
<table id="dg"></table>
<script type="text/javascript">
$(function () {
$('#dg').datagrid({
url: '/admin/getAllStuInfo',
saveUrl: 'save_user.php',
updateUrl: 'update_user.php',
destroyUrl: 'destroy_user.php',
columns:[[
{field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}},
{field:"id",align:"center",title:'学生ID'},
{field:"sno",align:"center",title:'学号',editor:{type:'textbox',options:{required:true}}},
{field:"name",align:"center" ,title:'姓名',editor:{type:'textbox',options:{required:true}}},
{field:"password", align:"center",title:"密码",editor:{type:'textbox',options:{required:true}}},
{field:"clazzName" ,align:"center",title:"班级",editor:{type:'combobox',
options: {
valueField:'name',
textField:'name',
method:'get',
url:'/admin/getAllClazz',
required:true,
editable:false,
}
}},
{field:"dept", align:"center",title:'学院'},
{field:"sex", align:"center",title:'性别',editor:{type:'combobox',
options:{
valueField: 'label',
textField: 'value',
data: [{
label: '男',
value: '男'
},{
label: '女',
value: '女'
}],
required:true,
editable:false,
}
}},
{field:"address" ,align:"center",title:'地址',editor:{type:'textbox',options:{required:true}}},
{field:"age", align:"center",title:'年龄',editor:{type:'numberbox',options:{required:true}}},
{field:"phone" ,align:"center",title:'电话',editor:{type:'textbox',options:{required:true}}},
{field:"dormitory", align:"center",title:'宿舍',editor:{type:'textbox',options:{required:true}}},
{field:"native_place" ,align:"center",title:'籍贯',editor:{type:'textbox',options:{required:true}}}
]],
iconCls: 'icon-edit',
title:'增删改学生信息',
singleSelect: true,
method: 'get',
rownumbers:true,
pagination: true,
pageSize:10,
pageList:[10,20,30,40,50],
idField:'id',
toolbar: [{
iconCls: 'icon-reload',
text:'刷新',
handler: function(){
$('#dg').datagrid('reload');
}
},'-',{
iconCls: 'icon-add',
text: '新增学生',
handler: append,
},'-',{
iconCls: 'icon-remove',
text: '删除学生',
handler: removeIt,
},'-',{
iconCls: 'icon-save',
text: '保存修改或新增操作',
handler: accept,
}
],
onClickCell:onClickCell,
})
})
</script>
<script type="text/javascript">
var editIndex = undefined;
function endEditing(){//判断是否所有列符合要求
if (editIndex == undefined){return true}
if ($('#dg').datagrid('validateRow', editIndex)){
$('#dg').datagrid('endEdit', editIndex);
editIndex = undefined;
return true;
} else {
return false;
}
}
function onClickCell(index, field){
if (editIndex != index){
if (endEditing()){
$('#dg').datagrid('selectRow', index)
.datagrid('beginEdit', index);
var ed = $('#dg').datagrid('getEditor', {index:index,field:field});
if (ed){
($(ed.target).data('textbox') ? $(ed.target).textbox('textbox') : $(ed.target)).focus();
}
editIndex = index;
}else {
setTimeout(function(){
$('#dg').datagrid('selectRow', editIndex);
},0);
}
}
}
function append(){
if (endEditing()){
$('#dg').datagrid('appendRow',{status:'P'});
editIndex = $('#dg').datagrid('getRows').length-1;
$('#dg').datagrid('selectRow', editIndex)
.datagrid('beginEdit', editIndex);
}
}
function removeIt(){
if (editIndex == undefined){return}
var row = $('#dg').datagrid('getSelected');
$.messager.confirm('是否删除', '确定删除?', function(r){
if (r){
$.get("/admin/adDelStu",{
"id":row.id,
},function (data){
if(data.msg==true){
$('#dg').datagrid('cancelEdit', editIndex)
.datagrid('deleteRow', editIndex);
alert("success");
}else {
alert("删除失败"+data.error);
}
editIndex = undefined;
$('#dg').datagrid('reload');
})
}
});
}
function add(){
}
function accept(){
if (endEditing()){
$('#dg').datagrid('acceptChanges');
var row = $('#dg').datagrid('getSelected');
if(row!=null){
if(row.id== undefined){
$.get("/admin/adAddStu",{
"password":row.password,
"sno":row.sno,
"name":row.name,
"clazzName":row.clazzName,
"sex":row.sex,
"age":row.age,
"address":row.address,
"phone":row.phone,
"dormitory" :row.dormitory,
"native_place":row.native_place,
/*"row":JSON.stringify(row),*///证明可用
},
function (msg){
if(msg.msg==true){
alert("更新成功");
}else {
alert("失败"+msg.error);
}
editIndex = undefined;
$('#dg').datagrid('reload');
})
}else {
$.get("/admin/adUpStu",{
"id":row.id,
"password":row.password,
"sno":row.sno,
"clazz_id":row.clazz_id,
"name":row.name,
"clazzName":row.clazzName,
"sex":row.sex,
"age":row.age,
"address":row.address,
"phone":row.phone,
"dormitory" :row.dormitory,
"native_place":row.native_place,
}, function (msg){
if(msg.msg==true){
$('#dg').datagrid('acceptChanges');
alert("更新成功");
}else {
alert("失败"+msg.error);
}
$('#dg').datagrid('reload');
})
}
}
}
}
</script>
</body>
</html>
当我辛辛苦苦写完这,闲逛发现官方有写好的。啊啊啊啊无语
方法2:
需要jquery.edatagrid.js
<table id="dg"></table>
<script type="text/javascript">
$(function () {
$('#dg').edatagrid({
url: '/admin/getAllStuInfo',
saveUrl: '/admin/adAddStu',
updateUrl: '/admin/adUpStu',
destroyUrl: '/admin/adDelStu',
columns:[[
{field:"id",align:"center",title:'学生ID'},
{field:"sno",align:"center",title:'学号',editor:{type:'textbox',options:{required:true}}},
{field:"name",align:"center" ,title:'姓名',editor:{type:'textbox',options:{required:true}}},
{field:"password", align:"center",title:"密码",editor:{type:'textbox',options:{required:true}}},
{field:"clazzName" ,align:"center",title:"班级",editor:{type:'combobox',
options: {
valueField:'name',
textField:'name',
method:'get',
url:'/admin/getAllClazz',
required:true,
editable:false,
}
}},
{field:"dept", align:"center",title:'学院'},
{field:"sex", align:"center",title:'性别',editor:{type:'combobox',
options:{
valueField: 'label',
textField: 'value',
data: [{
label: '男',
value: '男'
},{
label: '女',
value: '女'
}],
required:true,
editable:false,
}
}},
{field:"address" ,align:"center",title:'地址',editor:{type:'textbox',options:{required:true}}},
{field:"age", align:"center",title:'年龄',editor:{type:'numberbox',options:{required:true}}},
{field:"phone" ,align:"center",title:'电话',editor:{type:'textbox',options:{required:true}}},
{field:"dormitory", align:"center",title:'宿舍',editor:{type:'textbox',options:{required:true}}},
{field:"native_place" ,align:"center",title:'籍贯',editor:{type:'textbox',options:{required:true}}}
]],
iconCls: 'icon-edit',
title:'增删改学生信息',
singleSelect: true,
method: 'get',
rownumbers:true,
pagination: true,
pageSize:10,
pageList:[10,20,30,40,50],
idField:'id',
toolbar: [{
iconCls: 'icon-reload',
text:'刷新',
handler: function(){
$('#dg').edatagrid('reload');
}
},'-',{
iconCls: 'icon-add',
text: '新增学生',
handler: function () {
$('#dg').edatagrid('addRow');
},
},'-',{
iconCls: 'icon-remove',
text: '删除学生',
handler: function (){
$('#dg').edatagrid('destroyRow');
},
},'-',{
iconCls: 'icon-save',
text: '保存修改或新增操作',
handler: function () {
$('#dg').edatagrid('saveRow');
},
},'-',{
iconCls: 'icon-undo',
text: '取消',
handler: function () {
$('#dg').edatagrid('cancelRow');
},
}],
})
})
</script>
</body>