xml结构如下--名字1
----属性1
----超级链接1
----属性2
----超级链接2
----属性3
----超级链接3
----.....
--名字2
----属性1
----超级链接1
----属性2
----超级链接2
----属性3
----超级链接3
----.....
javascript读取后,生成select下拉菜单两个,第一个显示名字一,第二个菜单显示所有属性,选择一个属性后,提交表单跳转到属性对应的超级连接页面
谢谢!

解决方案 »

  1.   

    可以参考
    http://www.google.com/search?q=javascript+xml+%E8%81%94%E5%8A%A8&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:zh-CN:official&client=firefox-a
      

  2.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <HTML xmlns="http://www.w3.org/1999/xhtml">
     <HEAD>
      <TITLE> New Document </TITLE>
      <META. NAME="Generator" CONTENT="EditPlus">
      <META. NAME="Author" CONTENT="">
      <META. NAME="Keywords" CONTENT="">
      <META. NAME="Description" CONTENT="">
      <script. type='text/javascript'>
        loadXML = function(xmlFile){
            var xmlDoc;
            //判断浏览器的类型
            //支持IE浏览器
            if(window.ActiveXObject){
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                xmlDoc.load(xmlFile);
            }
            //支持Mozilla浏览器
            else if(document.implementation && document.implementation.createDocument){
                xmlDoc = document.implementation.createDocument('','',null);
                xmlDoc.async = false;
                xmlDoc.load(xmlFile);
            }
            else{
                return null;
            }
            return xmlDoc;
        }
        //对xml对象进行判断
        checkXMLDocObj = function(xmlFile){
            var xmlDoc = loadXML(xmlFile);
            if(xmlDoc==null){
                alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
                //window.location.href='某某地址(比如首页)';
            }
            return xmlDoc;
        }
       
        //参数1:控件id号,参数2:理解为定位节点
        initializeSelect = function(oid,xPath){
            var xmlDoc = checkXMLDocObj('sqlInfo.xml');
            var n;
            var l;
            var e = document.getElementById(oid);//得到下拉列表框控件
            if(e!=null){
                n = xmlDoc.getElementsByTagName(xPath);
                l = n.length;
                //循环添加列表子项
                for(var i=0;i<l;i++){
                    var ption = document.createElement('option');
                    option.innerText =  n[i].firstChild.text;
                    option.value = n[i].lastChild.text;
                    e.appendChild(option);
                }
            }
        }
      </script>
     </HEAD>
     <BODY nload="initializeSelect('company','Company')">
      <select id='company' name='company'>
        <option selected='selected'></option>
      </select>
     </BODY>
    </HTML>
     
    附上XML测试文件
    Code
    <?xml version="1.0" encoding="utf-8" ?>
    <DongFang>
      <Company>
        <cNname>1</cNname>
        <cIP>1</cIP>
      </Company>
      <Company>
        <cNname>2</cNname>
        <cIP>2</cIP>
      </Company>   
      <Company>
        <cNname>3</cNname>
        <cIP>3</cIP>
      </Company>
      <Company>
        <cNname>4</cNname>
        <cIP>4</cIP>
      </Company>
      <Company>
        <cNname>5</cNname>
        <cIP>5</cIP>
      </Company>
      <Company>
        <cNname>6</cNname>
        <cIP>6</cIP>
      </Company>
    </DongFang>
    2个级联就根据上一个选择的值,去xml中查询这个值对应的节点即可
      

  3.   

    http://hi.baidu.com/%D0%C7%C7%E9%C0%E1/blog/item/a181d7545d4995193a2935d8.html
      

  4.   

    谢谢楼上IBM_hoojo的代码,我怎么获取option的值呢?在提交表单时根据option的值生成一个url跳转比如选的北京-西城区,就跳转到 beijing2xicheng.html谢谢
      

  5.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    <!--
    function loademid()
    {
     var employeeid,employeelastname;
     //清除列表框
     employeecount=qform.employeelist.length
     for(i=employeecount-1;i>=0;i--)
     {
      qform.employeelist.remove(i);
     }
     var XMLDoc = new ActiveXObject("Microsoft.XMLDOM");
     XMLDoc.async = false;
     XMLDoc.load("sel.xml");
     root=XMLDoc.documentElement.childNodes;
     for(i=0;i<root.length;i++)
     {
       getnode=root.item(i);
      employeeid=root.item(i).getAttribute("emid");
      for(j=0;j<getnode.childNodes.length;j++)
      {
       employeeinf=getnode.childNodes(j).nodeName;
       if(employeeinf=="employeename")
       {
        employeelastname=getnode.childNodes(j).text;
       }
      }
      //将得到的employeeid和employeelastname写进select中
      if(employeeid!="" && employeelastname!="")
      {
       option1=document.createElement("option");
       option1.text=employeelastname;
       option1.value=employeeid;
       qform.employeelist.add(option1);
      }
     }
    }
    function findemployee()
    {
     var employeelastname,employeeid;    
     employeelastname="";
     employeeid="";
     findtext=qform.textbox1.value;
     //清除列表框
     employeecount=qform.employeelist.length
     for(i=employeecount-1;i>=0;i--)
     {
      qform.employeelist.remove(i);
     }
     var XMLDoc = new ActiveXObject("Microsoft.XMLDOM");
     XMLDoc.async = false;
     XMLDoc.load("sel.xml");
     root=XMLDoc.documentElement.childNodes;
     for(i=0;i<root.length;i++)
     {
      getitem=root.item(i);            
      employeeid=root.item(i).getAttribute("emid");   
      for(j=0;j<getitem.childNodes.length;j++)
      {
       if(getitem.childNodes(j).nodeName=="employeename")
       {
        employee_temp=getitem.childNodes(j).text;
        if(findtext != "" && employee_temp.indexOf(findtext)!=-1)
        {      //查找匹配项
         employeelastname=employee_temp;         
        }
       }
      }
      //将符合条件的雇员信息写进select中
      if(employeeid!="" && employeelastname!="")
      {
       option1=document.createElement("option");
       option1.value=employeeid;
       option1.text=employeelastname;
       qform.employeelist.add(option1);
       employeeid="";
       employeelastname="";
      }
     }

    -->
    </script>
    </head>
    <body onload="loademid()">
    <form name="qform" method="post" action="">
    <input type="button" name="Bt_ok" onclick="loademid()" value="确定" />
    <select name="employeelist">
     <option value="">姓名</option>
    </select>
    <input type="button" name="Bt_select" value="选择" onclick="findemployee()" />
    <input type="button" name="Bt_Submit" value="提交" onclick="qform.textbox1.value=qform.employeelist.value" />
    <input type="text" name="textbox1" value="" />
    </form>
    </body>
    </html>
     
    sel.xml:
    <?xml version="1.0" encoding="gb2312"?>
    <employee>
     <employeeitem emid="1">
      <employeeid>a</employeeid>
      <employeename>111</employeename>
     </employeeitem>
     <employeeitem emid="2">
      <employeeid>b</employeeid>
      <employeename>222</employeename>
     </employeeitem>
     <employeeitem emid="3">
      <employeeid>c</employeeid>
      <employeename>333</employeename>
     </employeeitem>
     <employeeitem emid="4">
      <employeeid>d</employeeid>
      <employeename>444</employeename>
     </employeeitem>
    </employee>