• JS调用XML绑定select[原创]


    这个个东西花了我1个多小时,终于搞定,很兴奋啊
    代码奉上:
    XML:
     1 <?xml version="1.0" encoding="utf-8" ?>
    2 <joblist>
    3 <job>
    4 <id value="1"/>
    5 <jobname value="--IT,计算机行业--"/>
    6 <fid value="0"/>
    7 </job>
    8 <job>
    9 <id value="2"/>
    10 <jobname value="程序员"/>
    11 <fid value="1"/>
    12 </job>
    13 <job>
    14 <id value="3"/>
    15 <jobname value="网管"/>
    16 <fid value="1"/>
    17 </job>
    18 <job>
    19 <id value="4"/>
    20 <jobname value="网页设计"/>
    21 <fid value="1"/>
    22 </job>
    23 <job>
    24 <id value="5"/>
    25 <jobname value="--服务性行业--"/>
    26 <fid value="0"/>
    27 </job>
    28 <job>
    29 <id value="6"/>
    30 <jobname value="礼仪小姐"/>
    31 <fid value="5"/>
    32 </job>
    33 <job>
    34 <id value="7"/>
    35 <jobname value="服务生"/>
    36 <fid value="5"/>
    37 </job>
    38 <job>
    39 <id value="8"/>
    40 <jobname value="服务员"/>
    41 <fid value="5"/>
    42 </job>
    43 </joblist>

    JS:
     1 //XML文档对象
    2 var xmlDoc;
    3 //载入XML文档
    4 function loadxmlDocument(docName)
    5 {
    6 xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    7 xmlDoc.async = false;
    8 xmlDoc.validateOnParse = false;
    9 xmlDoc.load(docName);
    10 if(xmlDoc.parseError.errorCode != 0) {
    11 alert(showError(xmlDoc));
    12 return(false);
    13 }
    14 return(xmlDoc);
    15 }
    16 //调用数据
    17 function startload()
    18 {
    19 var option,id,jobname,fid;
    20 xmlDoc = loadxmlDocument("XMLDoc/job.xml");
    21 if(xmlDoc == null)
    22 {
    23 alert('您的浏览器不支持xml文件读取!请使用IE版本');
    24 }
    25 else
    26 {
    27 clearList();
    28 var DeptXML = xmlDoc.getElementsByTagName("job");
    29 //alert(DeptXML.length);
    30 for (var i = 0 ; i < DeptXML.length ; i ++ )
    31 {
    32 id = DeptXML[i].childNodes[0].getAttribute("value");
    33 jobname = DeptXML[i].childNodes[1].getAttribute("value");
    34 fid = DeptXML[i].childNodes[2].getAttribute("value");
    35 // option = new Option(jobname,jobname);
    36 // document.getElementById("sel1").add(option);
    37 //二级分类
    38 if (fid == "0")
    39 {
    40 option = new Option(jobname,jobname);
    41 document.getElementById("sel1").add(option);
    42 for (var j=0;j<DeptXML.length;j++)
    43 {
    44 if (DeptXML[j].childNodes[2].getAttribute("value") == id)
    45 {
    46 option = new Option(DeptXML[j].childNodes[1].getAttribute("value"),DeptXML[j].childNodes[1].getAttribute("value"));
    47 document.getElementById("sel1").add(option);
    48 }
    49 }
    50 }
    51 }
    52 }
    53 }
    54
    55 function clearList()
    56 {
    57 var select1 = document.getElementById("sel1");
    58 while (select1.childNodes.length >0)
    59 {
    60 select1.removeChild(select1.childNodes[0]);
    61 }
    62 }

    HTML:
    加载时候绑定数据
    1 <body onload="startload()">
    2 <form id="form1" runat="server">
    3 <div>
    4 <select id="sel1" name="sel1" multiple="multiple">
    5 </select>
    6 </div>
    7 </form>
    8 </body>

  • 相关阅读:
    帧同步资料收集
    随机数种子问题
    【转】 DOTA2中的伪随机及其lua实现
    C++ 异常机制分析
    细说new与malloc的10点区别
    static关键字总结
    C++11 并发编程基础(一):并发、并行与C++多线程
    论一个程序员的自我修养
    gSoap的多线程程序
    面试常见问题:
  • 原文地址:https://www.cnblogs.com/405464904/p/1533952.html
Copyright © 2020-2023  润新知