JavaScript简单下拉菜单特效

本文实例为大家分享了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>

以上是 JavaScript简单下拉菜单特效 的全部内容, 来源链接: utcz.com/z/333974.html

回到顶部