EasyUI行编辑,包含数据校验,combox焦点事件、级联、赋值等

本文档展示了如何使用EasyUI实现数据网格的行编辑功能,包括数据校验、联动下拉框(combox)焦点事件、级联选择、赋值等操作。在编辑过程中,对授课课程、授课老师、上课教室等字段进行了数据验证,并提供了取消编辑、保存数据和删除数据的功能。此外,还详细介绍了编辑行的焦点事件和数据验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<t:base type="jquery,easyui,tools,DatePicker"></t:base>


<t:datagrid name="tsBjjhSbxqList" title=""
actionUrl="tsBjjhSbxqController.do?datagrid&sbid=${sbid }" idField="id"
queryMode="group" checkbox="true">
<c:if test="${opt != 'ck' }">
<t:dgToolBar title="添加" icon="icon-add" funname="addRow"></t:dgToolBar>
<%-- <t:dgToolBar title="编辑" icon="icon-edit" funname="editRow"></t:dgToolBar> --%>
   <t:dgToolBar title="保存" icon="icon-save" url="tsBjjhSbxqController.do?saveRows&flag=${flag }" funname="saveData"></t:dgToolBar>
<t:dgToolBar title="取消编辑" icon="icon-undo" funname="reject"></t:dgToolBar>
<t:dgToolBar title="删除" icon="icon-remove" funname="del"></t:dgToolBar>
</c:if>
</t:datagrid>
<script type="text/javascript">
var kcxx = ""; //课程信息
var skls = ""; //授课老师
var jcxx = ""; //教材信息
var skjss = ""; //上课教室
var loaded = false;  //防止ajax再次提交
$(document).ready(function(){
//获取当前院系下的所有课程
if(!loaded){
$.ajax({
url:"tsBjjhSbxqController.do?getKcxx",
type:"post",
data:{"yxsh":'${yxsh}'},
dataType:"json",
async: false,
cache: false,
success:function(data){
if(data.success){
var d = $.parseJSON(data.jsonStr);
kcxx = d.obj;
loaded = true;
}
}
});
//根据课程名称获取授课老师
   $.ajax({
url:"tsBjjhSbxqController.do?getSkls",
type:"post",
dataType:"json",
async: false,
success:function(data){
if(data.success){
skls = data.obj;
loaded = true;
}
}
});
   //上课教室信息表
    $.ajax({
url:"tsBjjhSbxqController.do?getSkjs",
type:"post",
dataType:"json",
async: false,
success:function(data){
if(data.success){
skjss = data.obj;
loaded = true; 
}
}
});
   
//获取所有的教材信息
$.ajax({
url:"tsBjjhSbxqController.do?getJcxx",
type:"post",
dataType:"json",
async: false,
success:function(data){
if(data.success){
var d = $.parseJSON(data.jsonStr);
jcxx = d.obj;
loaded = true; 
}
}
});
}

//加载计划详情信息
loadJhxq('');
});


var ybc = '';  //已保存(行上保存按钮)
//添加行
function addRow(title,addurl,gname){
$('#'+gname).datagrid('appendRow',{sbid:"${sbid}",xqmc:"${xqmc}",bjmc:"${bjmc}", zs:'1',zks:'1',cksl:'${bjrs}',sjgmsl:'${bjrs}'});
var editIndex = $('#'+gname).datagrid('getRows').length-1;
$('#'+gname).datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);

var target_cbs = $('#'+gname).datagrid('getEditor', {index : editIndex, field:'cbs'}).target;  
target_cbs.attr("disabled", true);

var target_author = $('#'+gname).datagrid('getEditor', {index : editIndex, field:'author'}).target;  
target_author.attr("disabled", true);

var target_isbn = $('#'+gname).datagrid('getEditor', {index : editIndex, field:'isbn'}).target;  
target_isbn.attr("disabled", true);
}
//保存数据
function saveData(){
var title="";
var addurl="tsBjjhSbxqController.do?saveRows&flag=${flag }&bjdm=${bjdm}&xqdm=${xqdm}";
var gname="tsBjjhSbxqList";


if(!endEdit(gname)){
return false;
}

var rows=$('#'+gname).datagrid("getChanges","inserted");
var uprows=$('#'+gname).datagrid("getChanges","updated");
rows=rows.concat(uprows);
var flag = '0';

if(rows.length<=0){
tip("没有需要保存的数据!")
return false;
}
var result={};
for(var i=0;i<rows.length;i++){
for(var d in rows[i]){
result["demos["+i+"]."+d]=rows[i][d];
}
}
$.ajax({
url:"${pageContext.request.contextPath}/"+addurl,
type:"post",
data:result,
dataType:"json",
async:false,
cache:false,
success:function(data){
tip(data.msg);
if(data.success){
$('#'+gname).datagrid("reload");
}
}
})
ybc = 'save';
}

//结束编辑
function endEdit(gname){
var  editIndex = $('#'+gname).datagrid('getRows').length-1;
for(var i=0;i<=editIndex;i++){
if($('#'+gname).datagrid('validateRow', i)){
$('#'+gname).datagrid('endEdit', i);
}
else{
return false;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值