当我选中一个子节点,点击修改,弹出一个showDialog 对话框修改相应属性,点击保存返回当前选中节点,并且它的显示名称为我们所修改的值!(不刷新树,怎么实现),各路大侠帮帮忙了!!
解决方案 »
- javascript是不是不用settimeout()就显示不出来效果?
- 求助!!!ie9中 prompt方法不行怎么设置才好??
- window.open打开的窗口都会被阻止吗?
- 页面刷新
- js中根据表头来排序..急,下班前要交.高手来救救啊.
- 请教高手——如何使用正则表达式判断格式为“mm/dd/yyyy”(类似"20/7/2006")的字符串,利马给分,多谢了!!
- 关于parent.document.getElementById(" target ").src= url
- onmouseover问题
- Jquery ajax调用wcf接口无响应
- outerHTML无法在MOZILLA里运行,怎么办?
- 当鼠标经过图片时,图片放大显示带超链接的文本的实现
- 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 (浪尖赏花) 的帮忙!