【即将关站通知●已关闭注册功能】,倒计时剩余:计算中...

dedecms5.6下栏目列表三级联动


测试页面:member/templets/archives_sg_add.htm 
效果:
 



PS:没有什么技术含量,通过自学解决问题而已。

member/archives_sg_add.php添加调用: 
require_once(dirname(__FILE__)."/GetArcTypeList.php"); 

 member/templets/archives_sg_add.htm  在<label>隶属栏目:</label>添加代码: 

           <label>隶属栏目:</label> 
                <?php 
            $typeOpti*****1 = GetOptionListM1(0,$channelid); 
            echo "<select id='one' size='1'>\r\n"; 
            echo "<option value='' selected>请选择栏目...</option>\r\n"; 
            echo $typeOpti*****1; 
            echo "</select>"; 
        ?> //一级栏目 
        <span id="Second"></span> //二级栏目列表 
<span id="Third"></span> //三级栏目列表 

        <span style="color:#F00">*</span> 

JS代码:

<script language='javascript'> 
function ShowArcType(UpperFloor,TheFloor,Id) 

     var xmlHttp 
    xmlHttp=GetXmlHttpObject() 
    if (xmlHttp==null) 
      { 
      alert ("Browser does not support HTTP Request") 
      return 
      } 
      var url="GetArcTypeList.php"; 
            url=url+"?TheFloor="+TheFloor+"&UpperFloor="+UpperFloor; 
            if (Id==2) 
            { 
                url=url+"&OpObj=Second&sid="+Math.random(); 
            } 
            if (Id==3) 
            { 
                url=url+"&OpObj=Third&sid="+Math.random(); 
            } 
            xmlHttp.onreadystatechange=function(){ stateChanged(xmlHttp,Id); }; 
            xmlHttp.open("GET",url,true); 
            xmlHttp.send(null) 


function stateChanged(obj,Id) 

if (obj.readyState==4 || obj.readyState=="complete") 

     if (Id==2) 
     { 
        document.getElementById("Third").innerHTML="" 
        document.getElementById("Second").innerHTML=obj.resp*****eText 
    } 
    if (Id==3) 
     { 
        document.getElementById("Third").innerHTML=obj.resp*****eText 
    } 



function GetXmlHttpObject() 

var xmlHttp=null; 
try 

// Firefox, Opera 8.0+, Safari 
xmlHttp=new XMLHttpRequest(); 

catch (e) 

// Internet Explorer 
try 
  { 
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
  } 
catch (e) 
  { 
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
  } 

return xmlHttp; 

</script> 

GetArcTypeList.php代码:

<?php
require_once(dirname(__FILE__)."/config.php");
require_once(DEDEINC."/dedetag.class.php");
require_once(DEDEINC."/userlogin.class.php");
require_once(DEDEINC."/customfields.func.php");
require_once(dirname(__FILE__)."/inc/inc_catalog_opti*****.php");
require_once(dirname(__FILE__)."/inc/inc_archives_functi*****.php");
if (!defined('DEDEMEMBER'))
{
    exit("dedecms");
}
$OpObj=$_GET["OpObj"];
$TheFloor=$_GET["TheFloor"];
$UpperFloor=$_GET["UpperFloor"];

if ($OpObj=="Second")
    {
        global $OptionArrayListM2,$dsql;
        $OptionArrayListM2 = "";
        if ($TheFloor!="" and $UpperFloor!="")
        {
            $dsql->SetQuery("SELECT * FROM `#@__arctype` where topid=".$UpperFloor." and reid=".$TheFloor." order by sortrank asc");
            $dsql->Execute();
            $row = "";            
            if ($dsql->GetTotalRow()>0)
            {
                $OptionArrayListM2 .= "<select id='two' size='1' onchange='ShowArcType(".$TheFloor.",this.value,3)'>\r\n";
                $OptionArrayListM2 .= "<option value='' selected>请选择...</option>\r\n";
                while($row = $dsql->GetObject())
                {
                $OptionArrayListM2 .= "<option value='".$row->id."' class='option3'>".$row->typename."</option>\r\n";
                }
                $OptionArrayListM2 .= "</select>";
            }
            else
                $OptionArrayListM2 = "";
        }
        else
            $OptionArrayListM2 = "";
        echo $OptionArrayListM2;
    }
else if ($OpObj=="Third")
    {
        global $OptionArrayListM3,$dsql;
        $OptionArrayListM3 = "";
        if ($TheFloor!="" and $UpperFloor!="")
        {
            $dsql->SetQuery("SELECT * FROM `#@__arctype` where topid=".$UpperFloor." and reid=".$TheFloor." order by sortrank asc");
            $dsql->Execute();
            $row = "";            
            if ($dsql->GetTotalRow()>0)
            {
                $OptionArrayListM3 .= "<select id='three' size='1'>\r\n";
                $OptionArrayListM3 .= "<option value='' selected>请选择...</option>\r\n";
                while($row = $dsql->GetObject())
                {
                $OptionArrayListM3 .= "<option value='".$row->id."' class='option3'>".$row->typename."</option>\r\n";
                }
                $OptionArrayListM3 .= "</select>";
            }
            else
            $OptionArrayListM3 = "";
        }
        else
            $OptionArrayListM3 = "";
        echo $OptionArrayListM3;
    }

function GetOptionListM1($topid=0,$channeltype=0)//查询指定频道的一级栏目,根据GetOptionListM()仿写的。
{
    global $OptionArrayListM1,$dsql;
    $dsql->SetQuery("SELECT * FROM `#@__arctype` where topid=".$topid." and channeltype=".$channeltype."");
    $dsql->Execute();
    $OptionArrayListM1 = "";
    $row="";
    //$OptionArrayListM2 .= "<select size='1' onchange='ShowArcType(this.value,this.value,'Second')'>\r\n";
    while($row = $dsql->GetObject())
    {
    $OptionArrayListM1 .= "<option value='".$row->id."' class='option3'{$selected}>".$row->typename."</option>\r\n";
    }
    //$OptionArrayListM2 .= "</select>";
    return $OptionArrayListM1;
}
?> 
收藏 邀请

路过

雷人

握手

鲜花

鸡蛋


最新评论

在线支持
关闭
欢迎来到魔趣吧
如果你有建站技术问题、仿站需求、模板插件修改需求,请联系我们的技术支持!高效率,低价格的帮你搞定!
请认准魔趣吧唯一官网:www.moqu8.com,谨防假冒网站!

一般问题请到【求助区】发帖咨询(免费)!

邮箱咨询:
winkill2012@qq.com

邮箱咨询需注明:资源地址+本站用户名+具体问题,三者缺一不做处理。非本站资源不处理!
在线支持

关于魔趣吧|魔趣建站

魔趣吧,志在打造全国最大的建站资源共享平台。 本站提供海量免费的建站资源,包括WordPress模板、Discuz精仿模板、PHPWind模板、phpcms模板、Discuz精仿插件、帝国cms模板、织梦模板等上万精品模板!同时,提供各种建站素材、JS特效、整站程序源码!
服务中文站长,传播分享精神!建站,就来魔趣吧!!
2015-2024 魔趣吧 ( 豫ICP备2021024354号 )   豫公网安备41030402000182号 百度统计
HTTPS安全认证
|网站地图 | 已运行:天 
温馨提示:本站所有资源、教程、源码,不得用于非法站点及用途,否则,本站将终止提供任何服务! Powered by Discuz! Licensed