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.111cn.net

时间: 2024-10-13 18:08:18

php与js做级联菜单的相关文章

js select 级联菜单

提示:您可以先修改部分代码再运行 <script> function load1(name) { loading.style.display="none"; name.style.display=""; } function selecte(s) { if(s==1) { loading.style.display=""; div_b.style.display="none"; div_c.style.displa

js经典级联菜单

新闻中心企业文化 不指定小类公司新闻最新公告行业动态工程进展优秀员工

javascript实现二级级联菜单的简单制作_javascript技巧

本文实例讲述了javascript实现二级级联菜单的简单制作方法.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="pragma" content="

前台JS(jquery ajax)调用后台方法实现无刷新级联菜单示例_实用技巧

前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 CasMenu.aspx页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr

js出生日期 年月日级联菜单示例代码

 本篇文章主要介绍了js出生日期 年月日级联菜单的示例代码.需要的朋友可以过来参考下,希望对大家有所帮助 现在世界通用的公历(阳历)也经过一个长期演变的过程.我们先看,公历每个月的日数是固定的:"七前单大,八后双大".也就是说,一.三.五.七.八.十.腊月(十二月)是31天,四.六.九.十一月是30天,只有二月,平年28天,闰年29天.   代码如下: <%@ Page Language="C#" AutoEventWireup="true"

级联菜单js上传到空间不起作用

问题描述 级联菜单js上传到空间不起作用 解决方案 解决方案二:自己用谷歌调试啊.解决方案三:chrome,firefox,F12debug,楼主,只能帮你到这里了解决方案四:Debug!!解决方案五:代码都没有怎么看解决方案六:chromeF12

js实现网页多级级联菜单代码_javascript技巧

本文实例讲述了js实现网页多级级联菜单.分享给大家供大家参考.具体如下: 这是大家在网页上经常会见到的级联菜单特效,不过这一个代码是由JS来实现,将级联菜单中的内容保存在了JS数组中,为了页面美观,本次还美化了一下表格边框,整体看上去更和谐实用了,多级的下拉菜单对网页设计来说比较实用. 运行效果如下图所示: 在线演示地址如下: http://demo.jb51.net/js/2015/js-table-select-menu-style-codes/ 具体代码如下: <!DOCTYPE HTML

html-谁有HTML的省市区级联?不用带数据库的,最好是只用JS做的

问题描述 谁有HTML的省市区级联?不用带数据库的,最好是只用JS做的 求一份完整的省市区级联,带地区编码的,比如像这样 110000|北京市,120000|天津市,130000|河北省,140000|山西省,150000 这样,省市区的!! 解决方案 你具体是要什么呢?你说的级联是要下拉列表联动的html文件?还是只是要你说的格式的一个文本文件? 解决方案二: http://blog.csdn.net/testcs_dn/article/details/9447207 解决方案三: 首先你的省

js 使用form表单select类实现级联菜单效果_基础知识

用例如下: 复制代码 代码如下: <form name="form1" method="POST" action="--WEBBOT-SELF--"> <select id="select1" onchange="select1onchange()"> <option value="1">1</option> <option valu