问题:::因为根节点是隐藏的,做完反选之后会默认选上根节点,但是根节点没有值,拼接出错误“?????
解决办法: 拼接的时候加一个判断,如果是空值之类的话不拼接就可以解决!!!
代码: var me = this;
var gridpanel = me.getRolePanel_gridpanel();
var records=gridpanel.getSelectionModel().getSelection();
var roleid=records[0].data.roleId;
var grid= Ext.getCmp('roleTreePanel') || this.getroleTreePanel();
var records=grid.getChecked();
var privids='';
for (var i = 0; i < records.length; i++) {
var privId=records[i].data.privId;
if(privId==''||privId==null||privId==undefined){
continue;
}
privids+=privId+',';
}
Ext.getBody().mask('正在保存数据,请稍后...','x-mask-loading');
Ext.Ajax.request({
url : __ctxPath + '/rolePrivilegeController/addRolePrivilegeList.do',
params : {
roleid:roleid,
privids : privids.substring(0,privids.length-1)
},
success : function(e, f) {
Ext.getBody().unmask();
// Ext.MessageBox.alert('提示信息', '成功保存');
ShowToast('保存成功','信息提示');
var grid = Ext.getCmp('roleTreePanel') || this.getroleTreePanel();
var store = grid.getStore();
store.reload();
},
failure : function(e, f) {
Ext.getBody().unmask();
Ext.MessageBox.show({
title : '操作信息',
msg : '信息保存出错,请联系管理员!',
buttons : Ext.MessageBox.OK,
icon : 'ext-mb-error'
});
}
});