function getMenu(id){
for(i=0;i<=arrayMax-1;i++)
{
if(arrayPID[i]==id){
str += "<option value='"+arrayID[i]+"'>"+arrayName[arrayID[i]]+"</option>";
// if (childExists(arrayID[i])) {
// str = getMenu(arrayID[i]);
// }//else return;
}
}
return str;
}

解决方案 »

  1.   

    var arrayName = new Array("新闻中心","行情快递","市场价格","国内新闻","国内资讯","国际资讯","厂家资讯","各地价格","场内价格","厂家报价","场内行情","国际行情","各地行情","厂家A报价","上海行情","广州行情");
    var arrayID = new Array(2,6,3,4,8,5,9,11,17,18,7,10,21,26,28,29);
    var arrayPID = new Array(0,0,0,2,2,2,2,3,3,3,6,6,6,18,21,21);
    var arrayMax = arrayName.length;
    //var str;
    document.write(getMenu('0'));function getMenu(id){
    var str="";
    for(var i=0;i<arrayMax;i++)
    {
    if(arrayPID[i]==id)
    {
    str += "<option value='"+arrayID[i]+"'>"+arrayName[i]+"</option>";
    var v = arrayID[i];
    if (childExists(arrayID[i])) 
    {
    str += getMenu(v);
    }
    }
    }
    return str;
    }function childExists(id)
    {
    for(ii=0;ii<=arrayMax-1;ii++)
    {
    if(arrayPID[ii]==id)return true;
    }//end for
    return false;
    }//end function childExists
    //主要是for(i=0;i<=arrayMax-1;i++)这句,i没有定义,当成全局的了