zoukankan      html  css  js  c++  java
  • 省市联动_简单的Demo,适用于各种二级菜单联动

    最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台。

    平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动或者省市县三级等,一般这样的数据会有一张单独的数据表,

    需要用的话,通过查询数据库获得相应的数据,返回一个JSNO,在前台进行处理显示。

    但是这个功能没有单独的表,总共七个一级菜单,每个一级菜单下对应N个二级菜单,考虑到数据量不大,没有必要去改变原有的数据库表结构,就想到了用简单的JS去实现这个需求。

    废话不多话,代码如下:

    jsp部分代码:

    <form action="" name="form1">
               <select name="province" id="province" onChange="getChild()">
                <option>== 请选择省份 ==</option>
                <option>北京市</option>
                <option>山西省</option>
                <option>山东省</option>
                <option>河北省</option>
                <option>河南省</option>
            </select>
            
            <select name="city" class="city">
                <option>== 请选择市区 ==</option>
            </select>
       </form>

    JS代码:

    <script type="text/javascript">
            //二级联动
            //定义城市数组
            var ctiyList = [
               ["东城区","西城区","朝阳区","丰台区","海淀区","昌平区"],
               ["太原市","大同市","运城市","临汾市","忻州市","晋中市"],
               ["济南市","青岛市","威海市","烟台市","临沂市","德州市"],
               ["石家庄市","邢台市","保定市"],
               ["郑州市","焦作市","三门峡市"],
             ];
            //点击选择框触发得到方法
            function getChild(){
                var sltProvince = document.form1.province;//获取name为form1下province
                var sltCity = document.form1.city;//获取name为form1下city
                var pc=ctiyList[sltProvince.selectedIndex - 1]; //省份列表下标要和城市列表下标一致
                sltCity.length=1;//每次选择都清空城市列表
                //遍历根据省份下标与之对应的城市下标
                for(var i=0;i<pc.length;i++){
                    sltCity[i+1]=new Option(pc[i],pc[i]);    
                }
            }
        </script>
  • 相关阅读:
    移动端获取屏幕的宽度,根据屏幕大小动态设置html的rem字体大小
    解析CSS3伪类选择器nth-of-type和nth-child的用法,以及两者的区别
    移动端的1px的解决方案
    Vue中import from的来源:省略后缀与加载文件夹
    flex布局
    前端开发人员快速创建本地服务器
    centos6.5Xen4.2安装
    centos6.5kvm虚拟化安装部署
    CentOS搭建svn服务器支持https访问
    CentOS6.5搭建LNMP
  • 原文地址:https://www.cnblogs.com/klslb/p/6894124.html
Copyright © 2011-2022 走看看