300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > javascript实现下拉条联动_javascript实现二级联动下拉框

javascript实现下拉条联动_javascript实现二级联动下拉框

时间:2024-03-12 01:11:03

相关推荐

javascript实现下拉条联动_javascript实现二级联动下拉框

这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单。这里使用了javascript来联动第二级下拉框。

1HTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">23

4NewDocument56789373839404142请选择所在省份43直辖市44江苏省45福建省46广东省47甘肃省484950请选择所在城市5152535455

这段代码比较简单。

如果对js不大熟悉,可以看看下面关于js处理select对象的内容:

1、使用selectedIndex属性获取当前选项的索引

下拉框的选项是一个线性数组,每个选项都有一个索引,selectedIndex表示当前被选中的选项的索引号。结合options属性,可以得到被选中的option对象,从而对其做进一步的处理。当下拉框可多选时,selectedIndex属性返回第一个被选中的索引。

selectedIndex是个只读的属性,想把通过索引指定的下拉框的项设置为选中状态,可以设置option对象的selected=true来实现。

2、为select对象添加一个选项

sltCity[i+1]=newOption(provinceCity[i],provinceCity[i]);newOption(provinceCity[i],provinceCity[i])表示创建一个值为provinceCity[i],文本为provinceCity[i]的option对象,sltCity是页面上的city对象,i+1指定新添选项的位置。

3、清空一个select对象

要将下拉框的所有选项删除有两种方法,

第一种方法就是遍历删除:

1varl=myselect.length;2for(vari=0;i

第二种方法比较简单,因此一般都使用此方法:

myselect.length=0;

第二种方法比较简单,因此一般都使用此方法:

myselect.length=0;

当你的option对象名称和ID前缀是以数字开头时以上写法还可以这样写(因为当option对象前缀为数字时可能会带来一系列的JS脚本错误提示,所以不建议前缀使用带有数字的名称):

0

1

2

3

4

New Document

5

6

7

8

9

10 //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组

11 var city=[

12 ["北京","天津","上海","重庆"],

13 ["南京","苏州","南通","常州"],

14 ["福州","福安","龙岩","南平"],

15 ["广州","潮阳","潮州","澄海"],

16 ["兰州","白银","定西","敦煌"]

17 ];

var cityID=[

["0101","0102","0103","0104"],

["0201","0202","0203","0204"],

["0301","0302","0303","0304"],

["0401","0402","0403","0404"],

["0501","0502","0503","0504"]

];

18

19 function getCity(var1,var2){

20 //获得省份下拉框的对象

21 var sltProvince=document.getElementById(var1);

22 //获得城市下拉框的对象

23 var sltCity=document.getElementById(var2);

24

25 //得到对应省份的城市数组

26 var provinceCity=city[sltProvince.selectedIndex - 1];

27 var provinceCity_ID=cityID[sltProvince.selectedIndex - 1];

28 //清空城市下拉框,仅留提示选项

29 sltCity.length=1;

30

31 //将城市数组中的值填充到城市下拉框中

32 if(document.getElementById(var1).value != 0){//当选择option的值为0时不执行下面的

for(var i=0;i

//new Option中的两个参数,前面的值表示为显示内容,后面为value的值

33 sltCity[i+1]=new Option(provinceCity[i],provinceCity_ID[i]);

34 }

}

35 }

36

37

38

39

40

41

42 请选择所在省份

43 直辖市

44 江苏省

45 福建省

46 广东省

47 甘肃省

48

49

50 请选择所在城市

51

52

53

54

注:getCity('1province','1city')中的'1province','1city'也可以换写成this.id.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。