织梦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 \")"; ?> |
完整源码网-ym0.cc 织梦教程 织梦DEDECMS+Js实现自定义二级联动_ https://ym0.cc/643.html


常见问题
相关文章
猜你喜欢
- dedecms在首页调用会员信息(会员头像和名字等)_ 2020-06-08
- 织梦cms系统TAG标签和分页伪静态设置教程_ 2020-06-08
- 织梦图集 上传图片小于设定尺寸 缩略图生成失败的解决办法_ 2020-06-08
- 织梦dedecms文章被评论后发短消息给作者的方法_ 2020-06-08
- dedecms 首页arclist按照’weight’排序_ 2020-06-08
- 织梦DedeCMS获取文章链接的函数GetOneArchive使用方法_ 2020-06-08
- dedecms织梦TAG标签显示单个标签共有多少篇文章的方法_ 2020-06-08
- 织梦导航不显示外部链接栏目,修改channelartlist标签方法_ 2020-06-08
- 织梦dedecms wap手机门户站点首页不更新的解决方法_ 2020-06-08
- dede搜索结果页支持article、sql、channelartlist 等标签_ 2020-06-08