DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 标签调用 >

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

来源: 编辑: 发布时间:2020-05-02热度:
织梦dedecms有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来非常方便。 如果要实现自己的效果,可能要对联动过程做一点开发。 下面的代码实例是在二级联动的过程...
织梦dedecms有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来非常方便。
如果要实现自己的效果,可能要对联动过程做一点开发。
下面的代码实例是在二级联动的过程中,添加了一个新的字段,以保存选项的值,并在前台根据JS的值做不同的事件。
<?php 
require_once(dirname(__FILE__)."/../include/common.inc.php"); 
  
//查询根节点 
$dsql->SetQuery("SELECT evalue,ename from `ddmx_sys_enum` where egroup='center' AND evalue%500 = 0 order by disorder asc, evalue asc"); 
$dsql->Execute(); 
  
$enums = array(); 
$sort = 1 ; 
while($row = $dsql->GetArray()) 
    $options .= "<option value=\"{$sort}\">{$row['ename']}</option>\r\n"; 
    $enums[] = $row['evalue']; 
    $sort ++ ; 
  
  
$count = count($enums); 
foreach($enums as $i=>$evalue) 
    //添加了一个名为link的字段,保存选项的跳转链接 
    $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"); 
    $dsql->Execute(); 
     
    $sort = 0 ; 
    $i++; 
    while($row = $dsql->GetArray()) 
    { 
        $js .= "select2[". $i ."][{$sort}] = new Option(\"{$row['ename']}\", \"{$row['link']}\");\r\n"; 
        $sort++; 
    } 
  
$html = ' 
<form name="frm"> 
<div class="city_sch"> 
<h2 class="f13">选择里您最近的学习中心</h2> 
<table width="190" height="128" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td height="51" align="center" valign="middle"><label> 
        <select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)"> 
        <option selected>点击选择城市</option> 
        '. $options .' 
        </select> 
    </label></td> 
  </tr> 
  <tr> 
    <td height="22" align="center" valign="middle"><label> 
        <select name="s2" id="s2"> 
         <option value="点击选择中心" selected>点击选择中心</option> 
        </select> 
    </label></td> 
  </tr> 
  <tr> 
    <td height="55" align="center" valign="middle"><label> 
      <input type="submit" name="button" id="button" value="马上提交" onclick="window.location=document.frm.s2.value;return false;"/> 
    </label></td> 
  </tr> 
</table> 
</div> 
</form> 
<script language="javascript"> 
var select1_len = document.frm.s1.options.length; 
var select2 = new Array(select1_len); 
for (i=0; i<select1_len; i++) 
 select2[i] = new Array(); 
select2[0][0] = new Option("请选择", " "); 
'. $js .' 
function redirec(x) 
 var temp = document.frm.s2;  
 for (i=0;i<select2[x].length;i++) 
 { 
  temp.options[i]=new Option(select2[x][i].text,select2[x][i].value); 
 } 
temp.options[0].selected=true; 
</script> 
'; 
  
$html = addslashes(str_replace(array("\r\n", '"'), array('', '\''), $html)); 
echo "document.write(\" $html \")"; 
?> 
DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!