$city2 = array( array("山西省", "0"), array("河北省", "0"), array("太原市", "山西省").....)

解决方案 »

  1.   

    谢谢你的帮助,我把下面的代码复制出来。我想把下面JS的数组从PHP的数据库中提出来传给JS,在这个关节上我做不到,麻烦你帮我看看。先谢谢了~<script language="JavaScript" type="text/javascript">
    //ChangeSelect(上一级的值,下一级Select控件的ID值,下一级Select控件要选中的值(即value而非text),数据源数组名,默认显示字符(如:请选择...如果不写的话会用默认值填充)),第一级的上级值为0
    function ChangeSelect(ParentValue, NextId, NextSelectedValue, ArrObj,DefaultStr)
    {
    StrObj = eval(document.getElementById(NextId));
    StrObj.length = 0;
    //判断它是二级数据源,还是三级
    if (ArrObj.length > 0)
    {
    if (ArrObj[0].length == 2)
    {ArrNum = 0;}
    else
    {ArrNum = 2;}
    }
    //显示所有列表
    for (i = 0; i < ArrObj.length; i++)
    {
    if (i == 0)
    {
    if (DefaultStr == undefined ) DefaultStr="==请选择==";
    StrObj.options[StrObj.length] = new Option(DefaultStr, "");
    }
    if (ArrObj[i][1] == ParentValue)
    {
    StrObj.options[StrObj.length] = new Option(ArrObj[i][0],ArrObj[i][ArrNum]);
    }
    }
    //选中列表内某一项
    for (i = 0; i < StrObj.length; i++)
    {
    if (StrObj.options[i].value == NextSelectedValue)
    {
    StrObj.options[i].selected = true;
    }
    }
    //激发下一级的onchange事件以实现多级级联
    StrObj.onchange();
    }
    //公司二维数组数据源
    Office = [
    ["CategoryName","ParentCategoryName"],
    ["业务部","0"],
    ["技术部","0"],
    ["市场部","0"],
    ["业务部小柳","业务部"],
    ["业务部小杨","业务部"],
    ["业务部小菜","业务部"],
    ["技术部老柳","技术部"],
    ["技术部老杨","技术部"],
    ["技术部老菜","技术部"],
    ["市场部柳先生","市场部"],
    ["市场部杨先生","市场部"],
    ["市场部菜鸟","市场部"]
    ]
    //省市二维数组数据源
    City2 = [
    ["CategoryName","ParentCategoryName"],
    ["山西省","0"],
    ["河北省","0"],
    ["太原市","山西省"],
    ["运城市","山西省"],
    ["石家庄","河北省"],
    ["廊房","河北省"]
    ]
    //省市三维数组数据源
    City3 = [
    ["CategoryName","ParentId","Id"],
    ["北京","0","010"],
    ["山西","0","0359"],
    ["朝阳区","010","001"],
    ["海淀区","010","002"],
    ["豆各庄","001","101"],
    ["十里堡","001","102"],
    ["中关村","002","201"],
    ["上地","002","202"],
    ["运城地区","0359","301"],
    ["太原市","0359","302"],
    ["永济市","301","311"],
    ["小区","302","312"]
    ];
    </script><br />
    <form id="form1" name="form1" method="post" action="">
      <select name="select" id="office1" style="width:100px"  onchange="ChangeSelect(this.value,'office2','',Office,'==人员==')">
      </select>
      <select name="select12" id="office2" style="width:100px" onchange="">
      </select>
      <script language="JavaScript" type="text/javascript">ChangeSelect('0','office1','',Office,'==部门==') </script>
      <br />
      <select name="select2" id="City001" style="width:100px"  onchange="ChangeSelect(this.value,'City002','',City2)">
      </select>
      <select name="select2" id="City002" style="width:100px" onchange="">
      </select>
      <script language="JavaScript" type="text/javascript">ChangeSelect('0','City001','',City2) </script>
      <br />
      <select name="select2" id="City3001" style="width:100px"  onchange="ChangeSelect(this.value,'City3002','',City3)">
      </select>
      <select name="select2" id="City3002" style="width:100px"  onchange="ChangeSelect(this.value,'City3003','',City3)">
      </select>
      <select name="select2" id="City3003" style="width:100px" onchange="">
      </select>
      <script language="JavaScript" type="text/javascript">ChangeSelect('0','City3001','0359',City3) </script>
      <label>
      <input type="submit" name="Submit" value="提交" />
      </label>
    </form>
      

  2.   

    楼主是想做select联动吧,你这种做法就是将数据库所用的资源一次都提取出来.
    其实有两种方式实现这种效果.
    1 在php中循环,然后在php中生成javascript的变量.
      比如说:
       
        echo "<script language='javascript'>";
        echo "var City3 = [];
        for($i=0;$i<10;$i++)
        {
           //在这里给数组传值
        }
        echo "</script>";
      
    2 另一种情况是在php中构造数组字符串,然后传给javascript,在javascript再用split函数,将其变为数组.
    这种方式最常用,因为程序看上去比较好维护,也很直接.
      

  3.   

    把js的变成php的:
    <script>
    City2 = [ 
    ["CategoryName","ParentCategoryName"], 
    ["山西省","0"], 
    ["河北省","0"], 
    ["太原市","山西省"], 
    ["运城市","山西省"], 
    ["石家庄","河北省"], 
    ["廊房","河北省"] 
    ]
    document.cookie="City2="+City2
    </script>
    <?php
    $City2=$_COOKIE["City2"];
    echo $City2;
    ?>php的转为js的:
    <?php
    $City2=...
    ?>
    <script>
    City2=<?echo $City2>
    </script>