• javascript实现二级联动下拉框


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

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2  <HTML>
     3 <HEAD>
     4 <TITLE> New Document </TITLE>
     5 <META NAME="Generator" CONTENT="EditPlus">
     6 <META NAME="Author" CONTENT="">
     7 <META NAME="Keywords" CONTENT="">
     8 <META NAME="Description" CONTENT="">
     9 <script language="JavaScript" type="text/javascript">
    10     //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组
    11     var city=[
    12     ["北京","天津","上海","重庆"],
    13     ["南京","苏州","南通","常州"],
    14     ["福州","福安","龙岩","南平"],
    15     ["广州","潮阳","潮州","澄海"],
    16     ["兰州","白银","定西","敦煌"]
    17     ];
    18 
    19     function getCity(){
    20         //获得省份下拉框的对象
    21         var sltProvince=document.form1.province;
    22         //获得城市下拉框的对象
    23         var sltCity=document.form1.city;
    24         
    25         //得到对应省份的城市数组
    26         var provinceCity=city[sltProvince.selectedIndex - 1];
    27 
    28         //清空城市下拉框,仅留提示选项
    29         sltCity.length=1;
    30 
    31         //将城市数组中的值填充到城市下拉框中
    32         for(var i=0;i<provinceCity.length;i++){
    33             sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
    34         }
    35     }
    36 </script>
    37 </HEAD>
    38 
    39 <BODY>
    40 <FORM METHOD=POST ACTION="" name="form1">
    41         <SELECT NAME="province" onChange="getCity()">
    42             <OPTION VALUE="0">请选择所在省份 </OPTION>
    43             <OPTION VALUE="直辖市">直辖市 </OPTION>
    44             <OPTION VALUE="江苏省">江苏省 </OPTION>
    45             <OPTION VALUE="福建省">福建省 </OPTION>
    46             <OPTION VALUE="广东省">广东省 </OPTION>
    47             <OPTION VALUE="甘肃省">甘肃省 </OPTION>
    48         </SELECT>
    49         <SELECT NAME="city">
    50             <OPTION VALUE="0">请选择所在城市 </OPTION>
    51         </SELECT>
    52     </FORM>
    53 </BODY>
    54 </HTML>
    55 


    这段代码比较简单。

    如果对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对象
        要将下拉框的所有选项删除有两种方法,
        第一种方法就是遍历删除:
       

    1 var l=myselect.length;
    2 for(var i=0;i<l;i++){
    3    myselect.options[i]=null;
    4 }

        第二种方法比较简单,因此一般都使用此方法:
    myselect.length=0;

     第二种方法比较简单,因此一般都使用此方法:
    myselect.length=0;
    当你的option对象名称和ID前缀是以数字开头时以上写法还可以这样写(因为当option对象前缀为数字时可能会带来一系列的JS脚本错误提示,所以不建议前缀使用带有数字的名称):

     0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     1 <HTML>
     2 <HEAD>

    3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     4 <TITLE> New Document </TITLE>
     5 <META NAME="Generator" CONTENT="EditPlus">
     6 <META NAME="Author" CONTENT="">
     7 <META NAME="Keywords" CONTENT="">
     8 <META NAME="Description" CONTENT="">
     9 <script language="JavaScript" type="text/javascript">
    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<provinceCity.length;i++){

                      //new Option中的两个参数,前面的值表示为显示内容,后面为value的值
    33               sltCity[i+1]=new Option(provinceCity[i],provinceCity_ID[i]);
    34           }

               }
    35     }
    36 </script>
    37 </HEAD>
    38
    39 <BODY>
    40 <FORM METHOD=POST ACTION="" name="form1">
    41         <SELECT id = "1province" NAME="1province" onChange="getCity('1province','1city')">
    42             <OPTION VALUE="0">请选择所在省份 </OPTION>
    43             <OPTION VALUE="直辖市">直辖市 </OPTION>
    44             <OPTION VALUE="江苏省">江苏省 </OPTION>
    45             <OPTION VALUE="福建省">福建省 </OPTION>
    46             <OPTION VALUE="广东省">广东省 </OPTION>
    47             <OPTION VALUE="甘肃省">甘肃省 </OPTION>
    48         </SELECT>
    49         <SELECT id ="1city" NAME="1city">
    50             <OPTION VALUE="0">请选择所在城市 </OPTION>
    51         </SELECT>
    52     </FORM>
    53 </BODY>
    54 </HTML>


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

  • 相关阅读:
    大数据之软件安装(一)-yum源配置
    Python随笔之常用模块-time&datetime模块
    Python随笔之文件操作
    linux 安装 mysql8 (ubuntu)
    让cat命令有颜色得输出文件(ccat)
    VMware Workstation 15 Pro 永久激活密钥
    python常用
    静态代理模式
    mysql常用命令及常见问题
    vue+django 项目 打包
  • 原文地址:https://www.cnblogs.com/buffer/p/1727573.html
Copyright © 2020-2023  润新知