首页 > php代码 > php与js做级联菜单

php与js做级联菜单

很多朋友都在问题这个问题,大我都初学者了,今天我就把我自己的写的发出来吧,各位看了别笑啊.先看看php与js混合代码.

<script>

function GetObjId(ObjName)

{

//alert(document.all.tags('select')[i].name);

for(i = 0; i < document.all.tags('select').length; i++)

{

  if (document.all.tags('select')[i].name == ObjName) {return(i);  break;}

}

return(-1);

}

function Do_ToDo_Change(ObjName1, ObjName2, StatInt)

{

//document.forms[0].elements[0].name

var id1, id2, tempstr, tempint

var my_array = new Array();

<?php

$list='';

for($i=1;$i<=12;$i++){

 $osql ="Select * from gx_newtype where gx_masterid=$i";

 $resul =mysql_query($osql) or die(mysql_error());

 while($res =mysql_fetch_array($resul)){  

  $list=$list.$res['id'].'|'.$res['gx_typename'].',';

 }

 ?>

 my_array[<?php echo $i-1; ?>] = '<?php echo $list;?>';

 <?php

 $list='';

}

?>


id1 = GetObjId(ObjName1);

id2 = GetObjId(ObjName2);

tempint = document.all.tags('select')[id2].length;

for(i = 1; i < tempint; i++) {document.all.tags('select')[id2].options[1] = null}

if (document.all.tags('select')[id1].selectedIndex > StatInt - 1)

{

  tempstr = my_array[document.all.tags('select')[id1].selectedIndex - 1].split(",");

  for(i = 1; i <= tempstr.length; i++) {document.all.tags('select')[id2].options[i] = new Option(tempstr[i - 1].substr(tempstr[i - 1].indexOf("|") + 1), tempstr[i - 1].substr(0,tempstr[i - 1].indexOf("|")))}

}

}

</script>

看了上面的代码后有些朋友可能会有些问号?就是这样怎么行呢?js怎么能和php这样放在一起呢,我想如果你真的提出这个问题了,我想你大概不明白,服务器端脚本在客户端脚本之前执行吧?现在明白了吗?

下面来看我们是怎么让它们级联的.

 

<select name="select" id="select" onchange=Do_ToDo_Change('select','select2','1')>

            <?php

    $sql="Select * from fff order by master_order asc";

    $result=mysql_query($sql);

    while($rs =mysql_fetch_array($result)){

     echo("<option value=".$rs['id'].">".$rs['master_name']."</option>");

  }

   ?>

    </select>//这里是一级

<select name="select2"  value="" id="select2">

      <option value="0">--选择子类--</option>

    </select> //这里是子菜单 ,


 

注:原创文章,转载请注明:www.phprm.com


永久链接:http://www.phprm.com/code/b1e9747749902648beb8c26731ea0725.html

转载随意!带上文章地址吧。

标签:none

发表留言