function cityChange() 
{
var city=document.getElementById("city");
var area=document.getElementById("area");
var selectedCity=city.options[city.selectedIndex].value;
var areas=dom.selectSingleNode("/myxml/district/city[@value='"+selectedCity+"']").childNodes;
for(var i=0;i<areas.length;i++)
{
var text=areas[i].getAttribute("name");
var value=areas[i].getAttribute("value");
area.options[area.length]=new Option(text,value);
}
}
这段代码呢是用xml+js实现简单的级联菜单。
问题是呢:每次city值更改,area下拉菜单的值没有清空,请教各路大侠

解决方案 »

  1.   

    function cityChange()  
    {
    var city=document.getElementById("city");
    var area=document.getElementById("area");
    area.innerHTML = '';
    var selectedCity=city.options[city.selectedIndex].value;
    var areas=dom.selectSingleNode("/myxml/district/city[@value='"+selectedCity+"']").childNodes;
    for(var i=0;i<areas.length;i++)
    {
    var text=areas[i].getAttribute("name");
    var value=areas[i].getAttribute("value");
    area.options[area.length]=new Option(text,value);
    }
    }
    加上一句我标红的那个语句就行了~·
      

  2.   

    for(var i = 1; i < area.options.length; i++){
    area.removeChild(area.options[i]);
    }你默认值那个是不是第一个选项~·
    要是的话 这么写试试~·