JavaScript中怎么实现一个二级联动下拉框,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
显示代码打印
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script language="JavaScript" type="text/javascript"> //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组 var city=[ ["北京","天津","上海","重庆"], ["南京","苏州","南通","常州"], ["福州","福安","龙岩","南平"], ["广州","潮阳","潮州","澄海"], ["兰州","白银","定西","敦煌"] ]; function getCity(){ //获得省份下拉框的对象 var sltProvince=document.form1.province; //获得城市下拉框的对象 var sltCity=document.form1.city; //得到对应省份的城市数组 var provinceCity=city[sltProvince.selectedIndex - 1]; //清空城市下拉框,仅留提示选项 sltCity.length=1; //将城市数组中的值填充到城市下拉框中 for(var i=0;i<provinceCity.length;i++){ sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]); } } </script> </HEAD> <BODY> <FORM METHOD=POST ACTION="" name="form1"> <SELECT NAME="province" onChange="getCity()"> <OPTION VALUE="0">请选择所在省份 </OPTION> <OPTION VALUE="直辖市">直辖市 </OPTION> <OPTION VALUE="江苏省">江苏省 </OPTION> <OPTION VALUE="福建省">福建省 </OPTION> <OPTION VALUE="广东省">广东省 </OPTION> <OPTION VALUE="甘肃省">甘肃省 </OPTION> </SELECT> <SELECT NAME="city"> <OPTION VALUE="0">请选择所在城市 </OPTION> </SELECT> </FORM> </BODY> </HTML>
这段代码比较简单。
如果对js不大熟悉,可以看看下面关于js处理select对象的内容:
1、使用selectedIndex属性获取当前选项的索引
下拉框的选项是一个线性数组,每个选项都有一个索引,selectedIndex表示当前被选中的选项的索引号。结合options属性,可以得到被选中的option对象,从而对其做进一步的处理。当下拉框可多选时,selectedIndex属性返回***个被选中的索引。
selectedIndex是个只读的属性,想把通过索引指定的下拉框的项设置为选中状态,可以设置option对象的selected=true来实现。
2、为select对象添加一个选项
显示代码打印
sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]); new Option(provinceCity[i],provinceCity[i])
表示创建一个值为provinceCity[i],文本为provinceCity[i]的option对象,sltCity是页面上的city对象,i+1指定新添选项的位置。
3、清空一个select对象
要将下拉框的所有选项删除有两种方法,***种方法就是遍历删除:
显示代码打印
var l=myselect.length; for(var i=0;i<l;i++){ myselect.options[i]=null; }
第二种方法比较简单,因此一般都使用此方法:
显示代码打印
myselect.length=0;
关于JavaScript中怎么实现一个二级联动下拉框问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。