mysql php无刷新三级联动菜单

 代码如下 复制代码

<script language="JavaScript" type="text/网页特效">
function removeOptions(selectObj){    
          if (typeof selectObj != 'object'){
            selectObj = document.getElementById(selectObj);
    }      // 原有选项计数    
          var len = selectObj.options.length;    
    for (var i=0; i < len; i++){         // 移除当前选项        
        selectObj.options[0] = null;    
    }
}
function setSelectOption(selectObj, optionList, firstOption, selected) {   
     if (typeof selectObj != 'object'){        
      selectObj = document.getElementById(selectObj);
  }      // 清空选项    
  removeOptions(selectObj);      // 选项计数    
  var start = 0;          // 如果需要添加第一个选项    
  if (firstOption){        
       selectObj.options[0] = new Option(firstOption, '');          // 选项计数从 1 开始        
    start ++;   
  }     
  var len = optionList.length;
  for (var i=0; i < len; i++){         // 设置 option        
      selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);          // 选中项        
   if(selected == optionList[i].val){            
       selectObj.options[start].selected = true;        
   }          // 计数加 1        
  start ++;    
 } 
}  //-->
 var sidArr = [];

 <?PHP

 

$sql="select * from ptypes where sid = 0 and ssid =0";
$result=mysql教程_query($sql,$conn) or die("查询数据库教程出错1");
while($row=mysql_fetch_object($result))
{
   $i=0;
   $rs2="";
   $sql2="select * from ptypes where sid='".$row->id."'";
   $result2=mysql_query($sql2,$conn) or die("查询数据出错2");
   while($row2=mysql_fetch_object($result2))
   {
       if ($i==0){
        $t="";
    }else{
        $t=",";
    }
       $rs2.=$t."{txt:'".$row2->title."',val:'".$row2->id."'}n";
    $n=0;
    $rs3="";
    $sql3="select * from ptypes where ssid='".$row2->id."'";
    $result3=mysql_query($sql3,$conn) or die("查询是数据库出错3");
    while($row3=mysql_fetch_object($result3))
    {
       if ($n==0)
    {
       $t1="";
    }else{
       $t1=",";
    }
    $rs3.=$t1."{txt:'".$row3->title."',val:'".$row3->id."'}n";
    $n=1;
    }
   
    echo("sidArr['".$row2->id."']=[".$rs3."];");
    $i=1;
   }
  
   echo("sidArr['".$row->id."']=[".$rs2."];");
}
?>
function setCity(province) {
       
         removeOptions(document.getElementById('sid'));
   removeOptions(document.getElementById('ssid'));
   setSelectOption('sid', "", '-请选择-');
   setSelectOption('ssid', "", '-请选择-');
         if (!sidArr[province] || sidArr[province]==""){
      
             document.getElementById('sid').disabled=true;
    document.getElementById('ssid').disabled=true;
   }else{
       document.getElementById('sid').disabled=false;
    document.getElementById('ssid').disabled=false;
             setSelectOption('sid', sidArr[province], '-请选择-');
   }
}
function setssid(province) {
         removeOptions(document.getElementById('ssid'));
   setSelectOption('ssid', "", '-请选择-');
         if (!sidArr[province] || sidArr[province]==""){
    document.getElementById('ssid').disabled=true;
   }else{
       document.getElementById('ssid').disabled=false;
             setSelectOption('ssid', sidArr[province], '-请选择-');
   }
}
</script>

<select name="province" id="province" onchange="if(this.value != '') setCity(this.options[this.selectedIndex].value);">  
   <option value="">-请选择-</option>
   <?php教程
   $sql="select * from ptypes where sid=0 and ssid = 0";
   $result=mysql_query($sql,$conn) or die("返回数据记录出错!");
   while($row=mysql_fetch_object($result))
   {
       echo ("<option value='".$row->id."'>".$row->title."</option>");
   }
   ?>
</select> 一级
  
<select name="sid" id="sid" onchange="if(this.value != '') setssid(this.options[this.selectedIndex].value);" >    
<option value="">-请选择-</option>
</select> 二级

<select name="ssid" id="ssid">    
<option value="">-请选择-</option>
</select> 三级

时间: 2024-09-23 09:53:51

mysql php无刷新三级联动菜单的相关文章

ajax+php无刷新二级联动菜单的应用实例

 代码如下 复制代码 <html> <head> <title>ajax+php无刷新二级联动菜单的应用实例</title> <script language="网页特效"> var xmlhttp = null; function getxmlhttprequest() {     var xmlhttp=null;     try     {         xmlhttp = new xmlhttprequest();

javascript 无刷新select联动菜单

联动菜单的实现方法: 1.确定数据格式: 首先,我们介绍一下创建 Option 的语法: var newOption = new Option(optionText, optionvalue); 根据上面的语法,我们知道 select 选项分 optionText 和 optionvalue 两个内容,optionText 即下拉框中我们看到的选项,而 optionvalue 则是提交的实际值.比如一个选项我们看到的是 "北京",而实际提交的值是 "010". 为了

无刷新三级联动,带 图片预览

问题描述 一般手机软件网站的,手机型号选择,和图片预览 解决方案 解决方案二:图片预览是纯js工作三级联动用xmlhttp结合ashx实现解决方案三:有会给各例子

jQuery JSON实现无刷新三级联动实例探讨_jquery

复制代码 代码如下: <asp:DropDownList ID="ddl1" runat="server" Width="100px" ></asp:DropDownList> <asp:DropDownList ID="ddl2" runat="server" Width="100px" ></asp:DropDownList> <

ajax+php无刷新二级联动下拉菜单(省市联动)源码

ajax.js /** * ajax无刷新二级联动下拉菜单(省市联动) * * @author arcow <arcow@126.com> * @version 1.0 * @lastupdate 2005-12-29 * */ var http_request = false; function send_request(url,method) {//初始化.指定处理函数.发送请求的函数 http_request = false; //开始初始化XMLHttpRequest对象 if(win

jQuery实现的省市县三级联动菜单效果完整实例_jquery

本文实例讲述了jQuery实现的省市县三级联动菜单效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

javascript 省份城市地区三级联动菜单

网页特效 省份城市地区三级联动菜单 <select id="user_shen" name="user_shen" tabindex="10" onchange="changeprovince();" alt="省份:无内容"  >  <option value="0">请选择省份</option>  <option value="北京

asp.net实现无刷新DropDownList联动控件

asp.net|控件|刷新|无刷新 在网上看到了一些无刷新的联动控件.下下了测试以后,显示英文和数字可以,但是不可以显示中文,后来把从网上down下来的文件做了一个翻修改,做了一个省市的联动控件.给大家共享一下.可以显示中文了.   <%@ Page language="c#" Codebehind="Example.aspx.cs" AutoEventWireup="false" Inherits="Webs.other.Exa

JS封装的三级联动菜单(使用时只需要一行js代码)_javascript技巧

前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大家分享我在工作中封装并在项目中使用的三级级联操作代码,如有错误或者不当的地方欢迎大家指正. 使用简单(只需要一行代码) 可以根据需要设置是否显示"请选择"项 支持回调(在三级分类加载完成后触发回调事件) 支持一个页面多个级联菜单 演示效果预览: 三级联动封装 原理:将selec标签以及相关