那。是一个xml的调用问题,先看代码:var dom = new ActiveXObject("Msxml.DOMDocument");
dom.async=true;
dom.load("xml/new.xml");
window.onload = function() 
{
var barea = document.getElementsByName("barea");
for(var m=0;m<barea.length;m++)
{
var bareas = dom.selectNodes("myxml/district/city/area");
for(var n=0;n<bareas.length;n++)
{
var text=bareas[n].getAttribute("name");
var value=bareas[n].getAttribute("value");
barea[m].options[barea.length]=new Option(text,value);
}
}}
这是要实现效果的html界面:
部分xml代码:
<?xml version="1.0" encoding="utf-8"?>
<myxml>
<district>
<city name="苏州" value="1000">
<area name="沧浪区" value="1100"></area>
                           <area name="" value=""></area>
                  </city>
                  <city name="" value="">
                            <area name="" value=""></area>
                  </city>现在出错的地方是:我想要把area结点送到那个营业厅区域下拉列表,但是上面的代码运行出错,如图:

解决方案 »

  1.   

    太仓根本就不是area!是city!还显示不全!
      

  2.   

    barea[m].options[barea.length]=new Option(text,value);
    换成n试试。
      

  3.   

    换了之后还有问题,就是city和area一起显示在那个下拉列表里了。。
      

  4.   

    那俺的代码是因为什么原因错了呢?selectSingleNode和selectNodes有什么区别?
      

  5.   


    selectSingleNode这个后来我也没用~·var text=bareas[n];我是直接把当前的节点存在text变量里了,然后用getAttribute获得的~·
      

  6.   

    var bareas = dom.selectNodes("/myxml/district/city/area");前面要加个/
      

  7.   

    还是一样的症状,city和area混到一起。你那测试有错吗?
      

  8.   


    能拿到对应的值啊~·area都是这个的值
      

  9.   

    <table  class="table_01"  id="table_01">
                     <tr bgcolor="#99CC00">
                       <td bgcolor="#FEFEFE"> </td>
                       <td>科目</td>
                       <td>一月</td>
                       <td>二月</td>
                       <td>三月</td>
                       <td>四月</td>
                       <td>五月</td>
                       <td>六月</td> 
                       <td>七月</td>
    <td>八月</td>  
    <td>九月</td> 
       <td>十月</td> 
       <td>十一月</td>
       <td>十二月</td> 
       <td>Total</td>
     </tr>
    <tr>
    <td>  房租</td> 
     td><input type="text" value="${finance.rent[0]}"  id="1FZ"   size=2 style="border:0px;" /> </td>
    <td><input type="text" value="${finance.rent[1]}"  id="2FZ"   size=2 style="border:0px;" /></td>
    </tr>
    <tr>
     <td>物业管理费</td>
    <td><input type="text" value="${finance.managementFee[0]}" id="1WY" size=2 style="border:0px;" /></td>
    <td><input type="text" value="${finance.managementFee[1]}" id="2WY" size=2 style="border:0px;" /></td>
    </tr>
    <tr>
    <td>其他办事处及公司宿舍租金</td>     
    <td><input type="text" value="${finance.otherOfficeAndCompanysRent[0]}" id="1ZJ" size=2 style="border:0px;" /></td>
    <td><input type="text" value="${finance.otherOfficeAndCompanysRent[1]}" id="2ZJ" size=2 style="border:0px;" /></td>
    </tr>
    <tr>
    <td>公司开会酒店食宿会务费用</td>
    <td><input type="text" onblur="getAggregate(this)" id="1KH" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2KH" size=2 style="border:0px;"/></td>
    </tr>
    <tr>
    <td>员工福利费(社保补贴)</td>
    <td><input type="text" onblur="getAggregate(this)" id="1SBBT" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2SBBT" size=2 style="border:0px;"/></td>
    </tr>
    <tr>
    <td>员工福利费(手机补贴)</td>
    <td><input type="text" onblur="getAggregate(this)" id="1SJ" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2SJ" size=2 style="border:0px;"/></td>
    </tr>
    <tr>
    <td>员工福利费(住房补贴)</td>
    <td><input type="text" onblur="getAggregate(this)" id="1ZF" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2ZF" size=2 style="border:0px;"/></td>
    </tr>

    <tr>
    <td>员工福利费(车贴)</td>
    <td><input type="text" onblur="getAggregate(this)" id="1CT" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2CT" size=2 style="border:0px;"/></td>
    </tr><tr>
    <td>员工活动费</td>
     
    <td><input type="text" value="${finance.staffActivities[0]}" id="1HD"  size=2 style="border:0px;"/></td>
    <td><input type="text" value="${finance.staffActivities[1]}" id="2HD"  size=2 style="border:0px;"/></td>
    </tr>

    <tr>
    <td>员工学习及培训费</td>
    <td><input type="text" value="${finance.learningAndTraining[0]}" id="1PX" size=2 style="border:0px;" /></td>
    <td><input type="text" value="${finance.learningAndTraining[1]}" id="2PX" size=2 style="border:0px;" /></td>
    </tr>
    <tr>
    <td>财务费用</td>
    <td><input type="text" onblur="getAggregate(this)" id="1CW" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2CW" size=2 style="border:0px;"/></td>
    </tr>

    <tr>
    <td>工资</td>
    <td><input type="text" onblur="getAggregate(this)" id="1GZ" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2GZ" size=2 style="border:0px;"/></td>
    </tr>

    <tr>
    <td>佣金</td>
    <td><input type="text" onblur="getAggregate(this)" id="1YJ" size=2 style="border:0px;"/></td>
    <td><input type="text" onblur="getAggregate(this)" id="2YJ" size=2 style="border:0px;"/></td>
    </tr>
    <tr>
    <td>期间费用合计</td>
    <td><input type="text" id="1HJ" readonly="readonly" size=3 style="border:0px;"/></td>
    <td><input type="text" id="1HJ" readonly="readonly" size=3 style="border:0px;"/></td>
    </tr>房租 、物业管理费、 其他办事处及公司宿舍租金、 员工活动费、 员工学习及培训费这五项是从数据库查询出来的,
    公司开会酒店食宿会务费用、员工福利费(社保补贴)、员工福利费(手机补贴)、员工福利费(住房补贴)、员工福利费(车贴)、财务费用、工资、佣金
    这八项是手填的。期间费用合计是等于 从数据库查询出来的五项 加上 手填的八项。
    用js怎么去写的实现方法。
      

  10.   

    兄弟们,我已经解决问题了,而且是自己解决的,木有问别人哦!今晚决定打dota犒劳自己一下!