帝国cms教程

二次开发一个纯JS版的地区联动筛选功能

我的站长站 2019-07-18 人阅读

帝国CMS地区联动插件网上很多,但如何配合筛选功能却没有。看到论坛上很多人需要找这个,我的站长站www.wdzzz.com为大家分享一款二次开发的纯JS版的地区联动筛选功能。

首先我们来看看效果

二次开发一个纯JS版的地区联动筛选功能

下拉框效果

二次开发一个纯JS版的地区联动筛选功能

横向A链接效果

帝国CMS地区联动筛选开发方法

1、首先我们需要下载用到JS插件库,下载地址在下方

相关信息
帝国CMS地区联动筛选插件
帝国CMS地区联动筛选插件

首先我们来看看帝国CMS地区联动筛选插件的效果下拉框效果横向A链接效果帝国CMS地区联动筛选插件方法1、新建3个省、市、区字段2、修改模型表单,加载JS、css样式3、...

2、然后我们新建三个字段,来储存地区内容,字段都为文本输入框。

pro 省份

<div class="m_zlxg" id="shenfen">
    <p title=""><?=$ecmsfirstpost==1?"选择省份":ehtmlspecialchars(stripSlashes($r[pro]))?></p>
    <div class="m_zlxg2">
      <ul>
      </ul>
    </div>
  </div>
  <input name="pro" type="hidden" id="pro" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[pro]))?>" size="">

city 城市

<div class="m_zlxg" id="chengshi">
    <p title=""><?=$ecmsfirstpost==1?"选择城市":ehtmlspecialchars(stripSlashes($r[city]))?></p>
    <div class="m_zlxg2">
      <ul>
      </ul>
    </div>
  </div>
  <input name="city" type="hidden" id="city" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[city]))?>" size="">

area 区县

<div class="m_zlxg" id="quyu">
    <p title=""><?=$ecmsfirstpost==1?"选择城市":ehtmlspecialchars(stripSlashes($r[area]))?></p>
    <div class="m_zlxg2">
      <ul>
      </ul>
    </div>
  </div>
  <input name="area" type="hidden" id="area" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[area]))?>" size="">

3、最后是系统模型表单的代码

<table width='100%' align=center cellpadding=3 cellspacing=1 bgcolor='#DBEAF5' id="dq">
这里为你的表单代码
<input id="sfdq_num" type="hidden" value="" />
<input id="csdq_num" type="hidden" value="" />
<link rel="stylesheet" type="text/css" href="/e/extend/address/address.css" >
<script type="text/javascript" src="/e/extend/address/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/e/extend/address/address.js"></script>
<script type="text/javascript">
$(function(){
$("#dq").sjld("#shenfen","#chengshi","#quyu");
});
</script>

主要给表单的table加了一个ID=dq和加载了需要用到JS、CSS。

到此后台的地区联动就完成了。

二次开发一个纯JS版的地区联动筛选功能

大致效果是这样了,具体的样式可以自行修改address.CSS的样式。

下面我们来看看纯JS版的地区联动筛选功能前台该如何调用了,我的站长站www.wdzzz.com为大家继续讲解。

前台下拉样式代码

<div class="gp" id="dq">
            <form method="get" action="[!--news.url--]e/action/ListInfo.php" class="dqform">  
                <input value="12" type="hidden" name="mid">  
              <input value="3" type="hidden" name="classid">  
              <input value="1" type="hidden" name="ph">  
               <div class="m_zlxg" id="shenfen">
                    <p title="">选择省份</p>
                    <div class="m_zlxg2">
                      <ul>
                      </ul>
                    </div>
                  </div>
                  <input name="pro" type="hidden" id="pro" value="">
               <div class="m_zlxg" id="chengshi">
                <p title="">选择城市</p>
                <div class="m_zlxg2">
                  <ul>
                  </ul>
                </div>
              </div>
              <input name="city" type="hidden" id="city" value="">
                <div class="m_zlxg" id="quyu">
                <p title="">选择城市</p>
                <div class="m_zlxg2">
                  <ul>
                  </ul>
                </div>
              </div>
              <input name="area" type="hidden" id="area" value="">
              </FORM>  
            </div>
            <input id="sfdq_num" type="hidden" value="" />
<input id="csdq_num" type="hidden" value="" />
            <link rel="stylesheet" type="text/css" href="/e/extend/address/address.css" >
<script type="text/javascript" src="/e/extend/address/address.js"></script>
            <script type="text/javascript">
            $("#dq").sjld("#shenfen","#chengshi","#quyu");
$("#chengshi , #quyu").hide();
window.onload = function() { 
var pro = "<?php echo $_GET["pro"]?>";
var city = "<?php echo $_GET["city"]?>";
var area = "<?php echo $_GET["area"]?>";
if(pro != ""){
$("#shenfen").find("p").text(pro);
}else{
$("#shenfen").on("click","li",function(){
$("#chengshi").show();
})
}
if(city != ""){
$("#chengshi").show();
$("#chengshi").find("p").text(city)
}else{
$("#chengshi").on("click","li",function(){
$("#quyu").show();
})
}
if(area != ""){
$("#quyu").show();
$("#quyu").find("p").text(area)
}
$("#chengshi").on("click","li",function(){
$("#quyu").show();
})
}; 
$("#quyu").on("click","li",function(){
$(".dqform").submit();
});
            </script>

主要利用的form表单提交+JS来达到下拉筛选的效果。

前台A链接筛选代码

<div class="designer-tip" id="dq">
<form method="get" action="[!--news.url--]e/action/ListInfo.php" class="dqform">  
        <input value="[!--self.classid--]" type="hidden" name="classid">  
<input value="1" type="hidden" name="ph">  
        <div class="m_zlxg" id="shenfen">
                <p>选择省份</p>
                <span>选择省份</span>
                <div class="m_zlxg2">
                  <ul>
                  </ul>
                </div>
              </div>
              <input name="pro" type="hidden" id="pro" value="">
           <div class="m_zlxg" id="chengshi">
            <p>选择城市</p>
            <span>选择城市</span>
            <div class="m_zlxg2">
              <ul>
              </ul>
            </div>
          </div>
          <input name="city" type="hidden" id="city" value="">
            <div class="m_zlxg" id="quyu">
            <p>选择城市</p>
            <span>选择城市</span>
            <div class="m_zlxg2">
              <ul>
              </ul>
            </div>
          </div>
          <input name="area" type="hidden" id="area" value="">
</FORM>   
    </div>
    
    <input id="sfdq_num" type="hidden" value="" />
    <input id="csdq_num" type="hidden" value="" />
    <link rel="stylesheet" type="text/css" href="/e/extend/address/address-a.css" >
    <script type="text/javascript" src="/e/extend/address/address-a.js"></script>
    <script type="text/javascript">
    $(function(){
        $("#dq").sjld("#shenfen","#chengshi","#quyu");
$(".m_zlxg2").on("click","li",function(){
$(this).parents(".m_zlxg2").find("li").removeClass("active");
$(this).addClass("active");
});
$("#chengshi , #quyu").hide();
$("#shenfen").on("click","li",function(){
$("#chengshi").show();
})
$("#chengshi").on("click","li",function(){
$("#quyu").show();
})
$("#quyu").on("click","li",function(){
$(".dqform").submit();
});
    });
    </script>

至此全部分享完毕。

相关推荐
  • 帝国cms二次开发
  • 帝国CMS调用方法
  • 帝国CMS调用栏目自定义字段方法

    帝国CMS调用栏目自定义字段方法说明:封面模板,列表模板,内容模板都可以用,且调用方式都是一样的调用标签:<?=ReturnClassAddField(0,&#39;自定义字段&#39;)?>调用多个:<?=$value=ReturnClassAddField(1,&#39;自定义字段1,自定义字段2&#39;)?>取值:<?=$val...

    帝国cms教程 157 4年前
  • 帝国CMS新手教程调用栏目别名

    帝国CMS调用网站标题灵动标签调用网站标题:<?=$public_r[sitename]?> 帝国CMS标签调用网站标题:[!--pagetitle--] 帝国CMS调用栏目别名: <?=$class_r[$GLOBALS[navclas

    帝国cms教程 275 11年前
  • 帝国CMS调用网站标题的方法

    帝国CMS_调用网站标题的方法方法1: [!--pagetitle--]方法2:<?=$public_r[sitename]?>

    帝国cms教程 379 11年前
最新更新