首页 > 编程 > JavaScript > 正文

JavaScript简单下拉菜单特效

2019-11-20 09:00:59
字体:
来源:转载
供稿:网友

本文实例为大家分享了js下拉菜单特效,供大家参考,具体内容如下

实例1:联动的省市下拉菜单

onchange 事件会在域的内容改变时发生。

<script type="text/javascript">           var arr = new Array();       //数据数组      //定义数据,结构为:id、名字、父id      arr[arr.length] = [1, '北京市', null];      arr[arr.length] = [2, '四川省', null];      arr[arr.length] = [3, '广东省', null];      arr[arr.length] = [4, '北京市', 1];      arr[arr.length] = [5, '成都市', 2];      arr[arr.length] = [6, '广州市', 3];      arr[arr.length] = [7, '深圳市', 3];      //动态设置下拉项目      function fillOptions(type){        if(type == 'province'){          //获取省份下拉菜单的DOM          var province = document.getElementById("province");          province.innerHTML = '';    //内容先置空          //填充省的字符          var proStr = '<option value=""></option>';          //遍历数组          for(var i=0; i<arr.length; i++){            var item = arr[i];   //当前项            //如果没有父id,则是省份            if(item[2] == null)              proStr += '<option value='+item[0]+'>'+item[1]+'</option>';          }          province.innerHTML = proStr;//填充新内容        }else if(type == 'city'){          //获取当前的省份的id          var currProId = document.getElementById("province").value;          if(currProId == '')            return false;          //获取城市下拉菜单的DOM          var city = document.getElementById("city");          city.innerHTML = '';      //内容先置空          //填充市的字符          var cityStr = '<option value=""></option>';          //遍历数组          for(var i=0; i<arr.length; i++){            var item = arr[i];   //当前项            //判断是否为当前省下的城市            if(item[2] == currProId)              cityStr += '<option value='+item[0]+'>'+item[1]+'</option>';          }          city.innerHTML = cityStr    ;//填充新内容        }      }    </script><body style="text-align:center;" onload="fillOptions('province');">    <!-- 定义下拉菜单 -->    省:<select id="province" onchange="fillOptions('city')"></select><br/><br/>    市:<select id="city"></select><br/><br/>  </body>

实例2:三级联动的省市县下拉菜单

<script type="text/javascript">           var arr = new Array();       //数据数组      //定义数据,结构为:id、名字、父id      arr[arr.length] = [1, '北京市', null];      arr[arr.length] = [2, '四川省', null];      arr[arr.length] = [3, '广东省', null];      arr[arr.length] = [4, '北京市', 1];      arr[arr.length] = [5, '成都市', 2];      arr[arr.length] = [6, '广州市', 3];      arr[arr.length] = [7, '深圳市', 3];      arr[arr.length] = [8, '武侯区', 5];      arr[arr.length] = [9, '青羊区', 5];      arr[arr.length] = [10, '白云区', 6];      arr[arr.length] = [11, '增城市', 6];      arr[arr.length] = [12, '从化市', 6];      //动态设置下拉项目      function fillOptions(type){        if(type == 'province'){          //获取省份下拉菜单的DOM          var province = document.getElementById("province");          province.innerHTML = '';    //内容先置空          //填充省的字符          var proStr = '<option value=""></option>';                   for(var i=0; i<arr.length; i++){  //遍历数组            var item = arr[i];     //当前项            //如果没有父id,则是省份            if(item[2] == null)              proStr += '<option value='+item[0]+'>'+item[1]+'</option>';          }          province.innerHTML = proStr;  //填充新内容        }else if(type == 'city'){          //获取当前的省份的id          var currProId = document.getElementById("province").value;          if(currProId == '')            return false;          //获取城市下拉菜单的DOM          var city = document.getElementById("city");          city.innerHTML = '';      //内容先置空          //填充市的字符          var cityStr = '<option value=""></option>';                   for(var i=0; i<arr.length; i++){  //遍历数组            var item = arr[i];     //当前项            //判断是否为当前省下的城市            if(item[2] == currProId)              cityStr += '<option value='+item[0]+'>'+item[1]+'</option>';          }          city.innerHTML = cityStr    ;//填充新内容        }else if(type == 'area'){          //获取当前城市的id          var currCityId = document.getElementById("city").value;          if(currCityId == '')            return false;          //获取区县下拉菜单的DOM          var area = document.getElementById("area");          area.innerHTML = '';      //内容先置空          //填充区县的字符          var areaStr = '<option value=""></option>';                   for(var i=0; i<arr.length; i++){  //遍历数组            var item = arr[i];     //当前项            //判断是否为当前城市下的区县            if(item[2] == currCityId)              areaStr += '<option value='+item[0]+'>'+item[1]+'</option>';          }          area.innerHTML = areaStr;  //填充新内容        }       }</script><body style="text-align:center;" onload="fillOptions('province');">    <!-- 定义下拉菜单 -->    省:<select id="province" onchange="fillOptions('city')"></select><br/><br/>    市:<select id="city" onchange="fillOptions('area')"></select><br/><br/>    县/区:<select id="area"></select><br/><br/></body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表