织梦DEDECMS+Js实现自定义二级联动
织梦dedecms有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来***方便。
如果要实现自己的效果,可能要对联动过程做一点开发。
下面的代码实例是在二级联动的过程中,添加了一个新的字段,以保存选项的值,并在前台根据JS的值做不同的事件。
require_once(dirname(__FILE__)."/");
//查询根节点
$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 .="\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='
var select1_len=document.frm.s1.options.length;
var select2=new Array(select1_len);
for (i=0; i { select2[i]=new Array(); } select2[0][0]=new Option("请选择", " "); '. $js .' function redirec(x) { var temp=document.frm.s2; for (i=0;i { temp.options[i]=new Option(select2[x][i].text,select2[x][i].value); } temp.options[0].selected=true; } '; $html=addslashes(str_replace(array("\r\n", '"'), array('', '\''), $html)); echo "document.write(\" $html \")"; ?>
时间:(2024-02-06 14:09:41)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!