M1850资源网 - 最专业的网站源码模板下载站!

全部作品
全部作品
织梦模板
网站模板
源码插件
游戏源码
脚本特效
视频教程
建站教程
M1850资源网 > 建站教程 > 织梦教程 > 织梦二次开发 > DEDECMS+Js实现自定义二级联动

推荐下载

标签推荐

>> 更多

DEDECMS+Js实现自定义二级联动

DEDE有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来非常方便。
如果要实现自己的效果,可能要对联动过程做一点开发。

下面的代码实例是在二级联动的过程中,添加了一个新的字段,以保存选项的值,并在前台根据JS的值做不同的事件。

  1. <?php 
  2. require_once(dirname(__FILE__)."/../include/common.inc.php"); 
  3.   
  4. //查询根节点 
  5. $dsql->SetQuery("SELECT evalue,ename from `ddmx_sys_enum` where egroup='center' AND evalue%500 = 0 order by disorder asc, evalue asc"); 
  6. $dsql->Execute(); 
  7.   
  8. $enums = array(); 
  9. $sort = 1 ; 
  10. while($row = $dsql->GetArray()) 
  11. { 
  12.     $options .= "<option value=\"{$sort}\">{$row['ename']}</option>\r\n"; 
  13.     $enums[] = $row['evalue']; 
  14.     $sort ++ ; 
  15. } 
  16.   
  17.   
  18. $count = count($enums); 
  19. foreach($enums as $i=>$evalue) 
  20. { 
  21.     //添加了一个名为link的字段,保存选项的跳转链接 
  22.     $dsql->SetQuery("SELECT evalue,ename,link from `ddmx_sys_enum` where egroup='center' AND evalue > {$evalue} AND evalue < ({$evalue} + 500) order by disorder asc, evalue asc"); 
  23.     $dsql->Execute(); 
  24.      
  25.     $sort = 0 ; 
  26.     $i++; 
  27.     while($row = $dsql->GetArray()) 
  28.     { 
  29.         $js .= "select2[". $i ."][{$sort}] = new Option(\"{$row['ename']}\", \"{$row['link']}\");\r\n"; 
  30.         $sort++; 
  31.     } 
  32. } 
  33.   
  34. $html = ' 
  35. <form name="frm"> 
  36. <div class="city_sch"> 
  37. <h2 class="f13">选择里您最近的学习中心</h2> 
  38. <table width="190" height="128" border="0" align="center" cellpadding="0" cellspacing="0"> 
  39.   <tr> 
  40.     <td height="51" align="center" valign="middle"><label> 
  41.         <select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)"> 
  42.         <option selected>点击选择城市</option> 
  43.         '. $options .' 
  44.         </select> 
  45.     </label></td> 
  46.   </tr> 
  47.   <tr> 
  48.     <td height="22" align="center" valign="middle"><label> 
  49.         <select name="s2" id="s2"> 
  50.          <option value="点击选择中心" selected>点击选择中心</option> 
  51.         </select> 
  52.     </label></td> 
  53.   </tr> 
  54.   <tr> 
  55.     <td height="55" align="center" valign="middle"><label> 
  56.       <input type="submit" name="button" id="button" value="马上提交" onclick="window.location=document.frm.s2.value;return false;"/> 
  57.     </label></td> 
  58.   </tr> 
  59. </table> 
  60. </div> 
  61. </form> 
  62. <script language="javascript"> 
  63. var select1_len = document.frm.s1.options.length; 
  64. var select2 = new Array(select1_len); 
  65. for (i=0; i<select1_len; i++) 
  66. { 
  67.  select2[i] = new Array(); 
  68. } 
  69. select2[0][0] = new Option("请选择", " "); 
  70. '. $js .' 
  71. function redirec(x) 
  72. { 
  73.  var temp = document.frm.s2;  
  74.  for (i=0;i<select2[x].length;i++) 
  75.  { 
  76.   temp.options[i]=new Option(select2[x][i].text,select2[x][i].value); 
  77.  } 
  78. temp.options[0].selected=true; 
  79. } 
  80. </script> 
  81. '; 
  82.   
  83. $html = addslashes(str_replace(array("\r\n", '"'), array('', '\''), $html)); 
  84. echo "document.write(\" $html \")"; 
  85. ?> 

本文来源:4wei原文链接

嘿,我来帮您!

展开