代码格式化下 看起来就明显了  
就是声明了3个数组 name_array,parent_array,id_array
每个数组的长度都是16 分别赋值。。
var name_array,parent_array,id_array;
name_array=new Array();
parent_array=new Array();
id_array=new Array();
id_array[0]=4;
name_array[0]=EVO;
parent_array[0]=3;
id_array[1]=13;
name_array[1]=MITSUBISHI;
parent_array[1]=0;
id_array[2]=5;
name_array[2]=2005;
parent_array[2]=4;
id_array[3]=6;
name_array[3]=2008;
parent_array[3]=4;
id_array[4]=12;
name_array[4]=Toyota;
parent_array[4]=0;
id_array[5]=8;
name_array[5]=FT86;
parent_array[5]=7;
id_array[6]=9;
name_array[6]=GT86;
parent_array[6]=7;
id_array[7]=10;
name_array[7]=2013;
parent_array[7]=9;
id_array[8]=11;
name_array[8]=2009;
parent_array[8]=8;
id_array[9]=14;
name_array[9]=GT86;
parent_array[9]=12;
id_array[10]=15;
name_array[10]=EVO;
parent_array[10]=13;
id_array[11]=16;
name_array[11]=carola;
parent_array[11]=12;
id_array[12]=18;
name_array[12]=20135;
parent_array[12]=15;
id_array[13]=20;
name_array[13]=5552;
parent_array[13]=14;
id_array[14]=21;
name_array[14]=33655;
parent_array[14]=16;
id_array[15]=23;
name_array[15]=2005;
parent_array[15]=15;

解决方案 »

  1.   

    不不是少了引号吗?
    您的测试数据是
    name_array = new Array("湖北","广东","黄冈","武汉","东莞","虎门","浠水","蕲春","武昌","汉阳","东一","东二","虎一","虎二");
    而你 php 是这样写的
    echo 'name_array['.$i.']='.$add_result_information['typename'].';';
    假定 $add_result_information['typename'] 的值为 xxxx $i 的值为 10
    实际输出的不就是
    name_array[10]=xxxx;
    吗?
    那个 xxxx 不是数字,就被 js 当做变量处理了,这就必然出错了!
    输出的要是这样才对 name_array[10]='xxxx';其实 php 提供了很好的书写手段,为何不用一下呢?
    echo "name_array[$i]='$add_result_information[typename]';";
    这样写,是不是清晰了许多?
      

  2.   

    2楼正解  把一些好的编码习惯养成了。。
    很多bug根本就不会遇到