php与js做级联菜单

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

scriptfunction
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].namevar id1, id2, tempstr,
tempintvar 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 //这里是子菜单 ,

我们来看看效果图吧:

注:原创文章,转载请注明: