本文共 2553 字,大约阅读时间需要 8 分钟。
MenuIdArr[1]="sel1"
MenuIdArr[2]="sel2"MenuIdArr[3]="sel3"MenuIdArr[4]="sel4"MenuFieldArr[1]="name"
MenuFieldArr[2]="name"MenuFieldArr[3]="name"MenuFieldArr[4]="name" if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest();} else if (window.ActiveXObject) { // IE http_request = new ActiveXObject("Microsoft.XMLHTTP");} var linkurl="ajax_server.asp?classid="+classid+"&sel="+str+"&fieldname="+MenuFieldArr[classid+1]http_request.open("GET",linkurl,false);http_request.send(null);//服务器端处理返回的是经过escape编码的字符串.
//在页面显示服务器查询结果var returntxt=unescape(http_request.responseText)
if(returntxt.length>0){document.all,ajax.innerHTML="服务器返回结果:"+returntxt+" [Powered by AJAX]"}else{document.all,ajax.innerHTML=""}//通过XMLHTTP返回数据,开始构建Select.
//BuildSel(returntxt,eval("document.all."+MenuIdArr[classid+1]))BuildSel(returntxt,document.getElementById(MenuIdArr[classid+1]))//============更改下下级以下菜单为空==============
var kkkfor(kkk=classid+2;kkk<=MenuClass;kkk++) { submenu=document.getElementById(MenuIdArr[kkk]) submenu.length=1 submenu.options[0].selected=true }}function BuildSel(str,sel)
{ /**--------------- BuildSel(str,sel) -----------------* BuildSel(str,sel) * 功能:通过str构建Select.* 参数:str,字符串,由服务端返回的.有特定结构"字符串1|,字符串2,字符串3"* 也可为"字符串1序号|字符串1文本,字符串2序号|字符串2文本,字符串3序号|字符串3文本",如本例* 参数:sel,要构建的Select* 实例:BuildSel(unescape(oBao.responseText),document.all.sel2)*--------------- BuildSel(str,sel) -----------------*///先清空原来的数据.sel.options.length=0;var arrstr = new Array();arrstr = str.split(",");//开始构建新的Select.sel.options.add(new Option( "-----请选择-----","")); if(str.length>0) { for(var i=0;i { //分割字符串 var subarrstr=new Array subarrstr=arrstr[i].split("|") //生成下级菜单 sel.options.add(new Option(subarrstr[1],subarrstr[0])); } sel.options[0].selected=true }}
</script>源代码下载:
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1599638