查询级联的实现
发布网友
发布时间:2022-04-24 07:04
我来回答
共1个回答
热心网友
时间:2022-04-24 08:33
可以用ajax来实现下面是我之前写过的一个参考一下吧:ajax动态菜单生成:
1.调用 startRequest();方法
2.写servlet方法;
3.js代码:
<script language="JavaScript">
//JS代码
var xmlHttp; function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
} function startRequest()
{
var d = new Date().getTime();
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange; var wf_ins_id = "<%=wf_ins_id%>";//工作流实例号 ---传递的参数
xmlHttp.open("POST","/clc/ajax_create_wf_busi_menu?d=" + d.toString() + "&wf_ins_id=" + wf_ins_id , false);----URL
xmlHttp.send(null);
} function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
//alert(xmlHttp.status);
if(xmlHttp.status == 200)
{
var ret = xmlHttp.responseText;//返回的字符串l ------------返回的字符串(servlet返回的)
//下面的是对返回值进行处理
// alert(ret);
var strs = ret.split("|"); clear_menu(); if(strs[0] == "fail")
{
alert("生成项目菜单错误");
document.all.busi_id.value = "";
}
else if(strs[0] == "")
{
document.all.busi_id.value = "";
}
else
{
var cds = strs[0].split(",");
var nms = strs[1].split(","); for(var i = 0; i < cds.length; i++)
{
var node = new Option();
node.value = cds[i];
node.text = nms[i];
document.all.busi_id.options.add(node);
}
}
}
}
}
</script>
4.对已生成的菜单清空
function clear_menu()
{
var len = document.all.busi_id.options.length;
for(var j = 0; j < len - 1; j++)
{
document.all.busi_id.options.remove(1);
}
document.all.busi_id.value = "";
}