当我选中一个子节点,点击修改,弹出一个showDialog 对话框修改相应属性,点击保存返回当前选中节点,并且它的显示名称为我们所修改的值!(不刷新树,怎么实现),各路大侠帮帮忙了!!
解决方案 »
- 如何用DOM加入新的 ul?
- 求帮助分析这段代码
- 大家好,帮我这个初学者看看好吗?
- Smooth Zoom Pan 图片处理插件,有需要的朋友吗
- 有没有按照A4纸 预览的javascript代码打印?
- 帮忙给出判断是否是日期和数字的函数
- 网页另存为excel文件,怎样不让客户直接下载该文件而不是在excel中打开?
- 请问如何让框架中一个叶面弹出的图层不被别的叶面遮盖?在线等100分
- iframe刷新问题,高手进!
- 请问怎样用javascript动态生成一些field,如text啊,radio啊,checkbox的东东
- 当鼠标经过图片时,图片放大显示带超链接的文本的实现
- setInterval()会使得已经调用的This改变指向吗?
//点击修改触发修改事件
function update_Click()
{
var selectedNode = menuTree.getSelectedItem();
if(selectedNode==null)
{
alert("请选择要修改的节点!");
return false;
}
var data = new Object();
data.menuCode = selectedNode.data.selectSingleNode(".//MENU_CODE").text;
data.menuName = selectedNode.data.selectSingleNode(".//MENU_NAME").text;
data.menuImg = selectedNode.data.selectSingleNode(".//MENU_IMG").text;
data.menuStatus = selectedNode.data.selectSingleNode(".//MENU_STATUS").text;
data.menuRe = selectedNode.data.selectSingleNode(".//MENU_REMARK").text;
application.showDialog(updateMenu.documentElement, data, null, updatecloseHandler, false);
}
//修改菜单逻辑处理
function updatecloseHandler(dialogReturnValue)
{
var selectedNode = menuTree.getSelectedItem();
var data = dialogReturnValue;
//添加要修改的字段值
var menuCode = data.menuCode;
var oldMenuName = selectedNode.data.selectSingleNode(".//MENU_NAME").text;
var newMenuName = data.menuName;
var newMenuImg = data.menuImg;
var newMenuStatus = data.menuStatus;
var newMenuRe = data.menuRe;
var menuUpCode = selectedNode.data.selectSingleNode(".//MENU_UP_CODE").text; //将修改信息保存到数据库中
var request = UpdateModel.getMethodRequest("get");
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/old/app_business_menu/MENU_CODE", menuCode, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_CODE", menuCode, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_NAME", newMenuName, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_IMG", newMenuImg, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_REMARK", newMenuRe, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_STATUS", newMenuStatus, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/UPDATE_TIME", date, false); UpdateModel.reset();
}showDialog页面代码:var gReturnedData = new Object();
function button1_Click(eventObject)
{
if(input1.value=="")
{
alert("菜单名称不能为空,请重新输入!");
return input1.setFocus();
}
application.container.close();
}
function dialogReturnValue()
{
var data = new Object();
data.menuName = input1.value;
data.menuImg = input3.value;
data.menuStatus = select1.value;
data.menuRe = input2.value;
data.menuCode = input4.value;
return data;
}
function Form_Init(eventObject)
{
input4.hide();
var data = application.event.data;
// create the option to add.
var option = {value:"0", description:"可用"};
var option1 ={value:"1",description:"不可用"};
select1.addOption(option,false,0,false);
select1.addOption(option1,false,1,false);
input1.setValue(data.menuName);
input3.setValue(data.menuImg);
select1.setValue(data.menuStatus);
input2.setValue(data.menuRe)
input4.setValue(data.menuCode);
}
function button2_Click(eventObject)
{
application.container.close();
}
selectedNode.data.selectSingleNode(".//MENU_NAME").text = data.menuName;
selectedNode应该是获取了当前选中节点的DOM对象(即存在于内存中的一个变量),该DOM对象的改变是不影响树的显示的
要改变树的显示,还需通过WebForm.setNodeValue方法来实现
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/old/app_business_menu/MENU_CODE", menuCode, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_CODE", menuCode, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_NAME", newMenuName, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_IMG", newMenuImg, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_REMARK", newMenuRe, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/MENU_STATUS", newMenuStatus, false);
WebForm.setNodeValue(request.selectSingleNode(".//Update"), "tuple/new/app_business_menu/UPDATE_TIME", date, false); UpdateModel.reset();
这段代码LZ再好好检查下吧,应该是这里的问题了
It sets the value for a node (element) in XML. It creates the node if it is not present and sets the value.并不能作为树的显示的!
不是,这是通过update方法将修改的数值保存到数据库中!
现在这个问题已经解决了!
selectedNode.setLabel(updateName);
这样就能动态更改名字了!
非常感谢 :
lihui_shine (浪尖赏花) 的帮忙!