程序员人生 网站导航

mysql php无刷新三级联动菜单

栏目:php教程时间:2014-06-07 06:10:33
一款联动菜单,利用了js php mysql实现的无刷新效果,有需要的朋友可以直接下载哦。
 
  1. <script language="JavaScript" type="text/">  
  2. function removeOptions(selectObj){      
  3.           if (typeof selectObj != 'object'){  
  4.             selectObj = document.getElementById(selectObj); 
  5.     }      // 原有选项计数      
  6.           var len = selectObj.options.length;      
  7.     for (var i=0; i < len; i++){    // 移除当前选项          
  8.         selectObj.options[0] = null;      
  9.     }  
  10. }  
  11. function setSelectOption(selectObj, optionList, firstOption, selected) {     
  12.      if (typeof selectObj != 'object'){          
  13.       selectObj = document.getElementById(selectObj); 
  14.   }      // 清空选项      
  15.   removeOptions(selectObj);    // 选项计数      
  16.   var start = 0;       // 如果需要添加第一个选项      
  17.   if (firstOption){          
  18.        selectObj.options[0] = new Option(firstOption, '');      // 选项计数从 1 开始          
  19.     start ++;     
  20.   }       
  21.   var len = optionList.length; 
  22.   for (var i=0; i < len; i++){     // 设置 option          
  23.       selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);          // 选中项          
  24.    if(selected == optionList[i].val){              
  25.        selectObj.options[start].selected = true;          
  26.    }          // 计数加 1          
  27.   start ++;      
  28.  }   
  29. }  //--> 
  30.  var sidArr = []; 
  1. <?PHP 
  2. $sql="select * from ptypes where sid = 0 and ssid =0"
  3. $result=mysql_query($sql,$connor die("查询数据库出错1"); 
  4. while($row=mysql_fetch_object($result)) 
  5.    $i=0; 
  6.    $rs2=""
  7.    $sql2="select * from ptypes where sid='".$row->id."'"
  8.    $result2=mysql_query($sql2,$connor die("查询数据出错2"); 
  9.    while($row2=mysql_fetch_object($result2)) 
  10.    { 
  11.        if ($i==0){ 
  12.         $t=""
  13.     }else
  14.         $t=","
  15.     } 
  16.        $rs2.=$t."{txt:'".$row2->title."',val:'".$row2->id."'}n"
  17.     $n=0; 
  18.     $rs3=""
  19.     $sql3="select * from ptypes where ssid='".$row2->id."'"
  20.     $result3=mysql_query($sql3,$connor die("查询是数据库出错3"); 
  21.     while($row3=mysql_fetch_object($result3)) 
  22.     { 
  23.        if ($n==0) 
  24.     { 
  25.        $t1=""
  26.     }else
  27.        $t1=","
  28.     } 
  29.     $rs3.=$t1."{txt:'".$row3->title."',val:'".$row3->id."'}n"
  30.     $n=1; 
  31.     } 
  32.      
  33.     echo("sidArr['".$row2->id."']=[".$rs3."];"); 
  34.     $i=1; 
  35.    } 
  36.     
  37.    echo("sidArr['".$row->id."']=[".$rs2."];"); 
  38. ?> 
  39. function setCity(province) { 
  40.          
  41.          removeOptions(document.getElementById('sid')); 
  42.    removeOptions(document.getElementById('ssid')); 
  43.    setSelectOption('sid'""'-请选择-');  
  44.    setSelectOption('ssid'""'-请选择-');  
  45.          if (!sidArr[province] || sidArr[province]==""){  
  46.         
  47.              document.getElementById('sid').disabled=true; 
  48.     document.getElementById('ssid').disabled=true; 
  49.    }else
  50.        document.getElementById('sid').disabled=false; 
  51.     document.getElementById('ssid').disabled=false; 
  52.              setSelectOption('sid', sidArr[province], '-请选择-');  
  53.    } 
  54. function setssid(province) { 
  55.          removeOptions(document.getElementById('ssid')); 
  56.    setSelectOption('ssid'""'-请选择-');  
  57.          if (!sidArr[province] || sidArr[province]==""){ 
  58.     document.getElementById('ssid').disabled=true; 
  59.    }else
  60.        document.getElementById('ssid').disabled=false; 
  61.              setSelectOption('ssid', sidArr[province], '-请选择-');  
  62.    } 
  63. </script> 
  64. <select name="province" id="province" onchange="if(this.value != '') setCity(this.options[this.selectedIndex].value);">    
  65.    <option value="">-请选择-</option> 
  66.    <?php 
  67.    $sql="select * from ptypes where sid=0 and ssid = 0"
  68.    $result=mysql_query($sql,$connor die("返回数据记录出错!"); 
  69.    while($row=mysql_fetch_object($result)) 
  70.    { 
  71.        echo ("<option value='".$row->id."'>".$row->title."</option>"); 
  72.    } 
  73.    ?> 
  74. </select> 一级 
  75.     
  76. <select name="sid" id="sid" onchange="if(this.value != '') setssid(this.options[this.selectedIndex].value);" >      
  77. <option value="">-请选择-</option> 
  78. </select> 二级 
  79. <select name="ssid" id="ssid">      
  80. <option value="">-请选择-</option> 
  81. </select> 三级 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐