js三级联动

小编 2026-06-10 阅读:354 评论:0
三级联动 在日常生活中经常会看到的一些列表框,例如网购选地址,会先选择省,然后是市, 最后是区,这个就是通过js的二级联动实现。 下面先写三个列表框出来: <select id=\"sh...

三级联动

在日常生活中经常会看到的一些列表框,例如网购选地址,会先选择省,然后是市,
最后是区,这个就是通过js的二级联动实现。
下面先写三个列表框出来:

<select id=\"shengid\"></select>
<select id=\"shiid\"></select>
<select id=\"qvid\"></select>

三个下拉框写出来,先不在里面写东西。
然后写js代码,首先要写一个二维数组,二维数组里存放的就是想要在下拉列表里出现的数据。
例如:

var array=[[1,\"河北\",0],[2,\"山西\",0],
           [3,\"邯郸\",1],[4,\"石家庄\",1],
           [5,\"运城\",2],[6,\"太原\",2],
           [7,\"邯山区\",3],[8,\"丛台区\",3],
           [9,\"新华区\",4],[10,\"桥西区\",4],
           [11,\"曹县\",5],[12,\"单县\",5],
           [13,\"闻喜\",6],[14,\"夏县\",6]];

先写省的函数,省的函数应该是用页面加载onload事件写在body里面。

<body onload=\"sheng()\">

省的函数:

    // 用来加载省的数据
    function sheng(){
     // 获取省的对象
     var shengObj =  document.getElementById(\"shengid\");
     // 获取市对象
     var shiObj =  document.getElementById(\"shiid\");
     // 获取区对象
     var qvObj =  document.getElementById(\"qvid\");
     
     //初始化
     var str = \"<option value=0> 请选择 </option>\";
         for(var i=0; i<arr.length; i++){
	   // 判断上级id 为0,如果是0,代表是省
	   if(arr[i][2]==0){
	    str += \"<option value=\"+arr[i][0] +\"> \" + arr[i][1] +\"</option>\";
	   }
     
     }
            
     shengObj.innerHTML = str;
          
              shiObj.innerHTML = \"<option value=0> 请选择 </option>\";
              qvObj.innerHTML = \"<option value=0> 请选择 </option>\";
   
   }

之后是市的函数,市的函数应该放在省的select标签里面,使用内容改变事件:

<select id=\"shengid\" onchange=\"shi()\"></select>

市的函数:

//加载对应市数据
function shi(){
  //获取省的对象
  var shengObj=document.getElementById(\"shengid\");
  //获取市对象
  var shiObj=document.getElementById(\"shiid\");
  //获取区对象
  var qvObj=document.getElementById(\"qvid\");
  var str = \"<option value=0> 请选择 </option>\";
      for(var i=0; i<arr.length; i++){
       // 根据上级id 拼接数据
        if(arr[i][2]==shengObj.value && shengObj.value != 0){
             str += \"<option value=\"+arr[i][0] +\"> \" + arr[i][1] +\"</option>\";
        }
      }
     shiObj.innerHTML = str;
     qvObj.innerHTML  = \"<option value=0> 请选择 </option>\";
  }

最后是区的函数,区的函数放在市的select里面,用的依然是内容改变事件:

<select id=\"shiid\" onchange=\"qv()\"></select>

区的函数:

//加载对应区数据
function qv(){
 //获取市对象
 var shiObj =  document.getElementById(\"shiid\");
 //获取区对象
 var qvObj =  document.getElementById(\"qvid\");
 var str = \"<option value=0> 请选择 </option>\";
	for(var i=0; i<arr.length; i++){
     	// 根据上级id 拼接数据
     	  if(arr[i][2]==shiObj.value && shiObj.value != 0){
     	     str += \"<option value=\"+arr[i][0] +\"> \" + arr[i][1] +\"</option>\";
          }
        }
        qvObj.innerHTML=str;
}

三级联动效果已经可以实现了,若要提交的话还要加一个非空验证,写在提交的单击事件内,代码如下:

function feinull(){ 
var qvObj =  document.getElementById(\"qvid\");
     if( qvObj.value == 0){
         alert(\"必选\");
     }else{
         alert(\"通过\");
     }
}

使用弹框了,想要使用span标签的话,同理。
仅记录学习。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表