问题描述
- LigerUi oncheckrow事件响应规则
-
function loadGrid(){
manager=$("#maingrid").ligerGrid({
columns: [
{ display: '主键信息', name: 'ID',align: 'center', width: 130 ,hide : true},
{ display: '产品分类', name: 'PRODUCTCLASS', align: 'center', width: 100,hide : true },
{ display: '是否关联', name: 'SYS_FLAG', align: 'center', width: 100,hide : true },
{ display: '系统分类', name: 'ITEMVAL', width: 100, align: 'center' },
{ display: '来源系统', name: 'ISRESOURCE', width: 100, align: 'center'
,editor: { type: 'select', data: isSysdata, valueField: 'ISRESOURCE' }
,render:function(item ){
if(parseInt(item.ISRESOURCE) == 1)
return '是';
return '否';
} }//,
],
parms: {orgID:orgID},
title:"产品关联列表",
url:'<%=_contexPath%>/productSort.do?task=sysInfo&step=sysInfo',
dataAction:'local',//local 本地分页,server 服务器端分页
pageSize: 10,
width: '20%;',
height: '80%',
checkbox:true,
enabledEdit: true,clickToEdit: true, isScroll: false,
onCheckRow : f_onCheckRow ,
onCheckAllRow :f_onCheckAllRow,
isChecked:f_isChecked,
onAfterEdit: f_onAfterEdit
});
}
我在onCheckRow函数如下:
function f_onCheckRow(checked,data,rowid,rowdata) {
//alert(data.ITEMVAL);if(checked){ //if(e_flag==1){ //e_flag=0; $.ajax({ type:'POST', url:'<%=_contexPath%>/productSort.do?task=addRelas&step=addRelas&productType=1&item_val='+encodeURI(encodeURI(data.ITEMVAL)), dataType:'json', async:true, contentType: "application/x-www-form-urlencoded; charset=gb2312", data:{ "prd_class":data.PRODUCTCLASS, "resource_sys":data.ISRESOURCE }, success:function(data){ e_flag=1; if(data.msg != 'success'){ $.ligerDialog.error('提交数据集失败!'); return true; } manager.loadData(true); return true; } }); //} return true; }else{ //if(e_flag==1){ // e_flag=0; $.ajax({ type:'POST', url:'<%=_contexPath%>/productSort.do?task=delRelas&step=delRelas&productType=1', dataType:'json', async:true, data:{ "prd_id":data.ID }, success:function(data){ e_flag=1; if(data.msg != 'success'){ $.ligerDialog.error('提交数据集失败!'); return true; } manager.loadData(true); return true; } }); //} return true; }; } 为什么每次我选中一行的前面复选框之后,AJAX都莫名其妙执行好多次,而且是从 f_onCheckRow函数入口开始执行。onCheckRow这个事件执行机制是什么?
解决方案
你的ajax中又调用manager.loadData(true); 加载服务器数据干嘛???
这个框架还是不太成熟,最好升级到最新版本去,可以解决不少bug。。还是easyui好用点,也多人用
解决方案二:
manager.loadData(true); 这个函数是AJAX执行成功回调函数,重新加载数据啊,
时间: 2024-12-21 21:43:43