JavaScript 三级联动

附件连接下载地址:http://files.cnblogs.com/files/CaktyRiven/js.zip

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>三级联动</title>
</head>
<body>
  <select name="" id="province">
     <option value="">请选择省</option>
  </select>
  <select name="" id="city">
      <option value="">请选择市</option>
  </select>
 <select name="" id="county">
      <option value="">请选择区/县</option>
  </select>
  <script type="text/javascript" src="china.js"></script>
  <script type="text/javascript">
   //获取省、市、县/区、节点
   var body = document.body;
   var province =document.getElementById(‘province‘);
   var city = document.getElementById(‘city‘);
   var county = document.getElementById("county");
   //将chain.js里面的字符串通过JSON转换成对象
   var chinaArea = JSON.parse(chinaArea);
   //通过点访问法访问对象,将结果赋给定义好的省列表
   var provinceList =chinaArea.china.province;
   //for循环遍历省份列表长度
   for(var i = 0; i < provinceList.length; i++) {
            //新建option节点
            var option = document.createElement("option");
            //将通过中括号访问法访问对象属性["-name"]中的省份名赋给option。
            option.innerHTML = provinceList[i]["-name"];
            //将option添加到province 的select下拉列表里
            province.appendChild(option);

    }
    //定义城市列表为空
    var cityList=null;
    //利用onchang方法获取下拉列表中的对象
    province.onchange=function(){
               //清空城市/区县列表
               city.innerHTML ="<option>请选择市</option>";
               county.innerHTML="<option>请选择区/县</option>";
               //通过this.selectedIndex获取select列表的下标
               if(this.selectedIndex >0){
                   //同理,通过点访问法和中括号访问法访问对象,将获取的城市赋给cityList
               cityList = chinaArea.china.province[this.selectedIndex -1].city;
               //同理、遍历城市列表的长度、新建option、赋值、并添加
               for(var i=0; i<cityList.length; i++){
               var option = document.createElement("option");
               option.innerHTML = cityList[i]["-name"];
               city.appendChild(option);

               }
             }
           }

         //县区的的做法同城市的原理一致,都是通过访问获得县区长度及name,再遍历县区长度,相应赋值

    city.onchange = function(){
                county.innerHTML="<option>请选择区/县</option>";
                if(this.selectedIndex >0){
                   for(var i=0;i<cityList[this.selectedIndex -1].county.length;i++){
                    var option = document.createElement("option");
                    option.innerHTML =cityList[this.selectedIndex -1].county[i]["-name"];
                    county.appendChild(option);
                }
                }

                // console.log(cityList[this.selectedIndex -1]);

             }

  </script>
</body>
</html>
时间: 2025-01-12 02:25:10

JavaScript 三级联动的相关文章

javascript三级联动效果实现

function linkQ(sel1,sel2,sel3,arr){     var sel1v=$.map(arr,function(val,key){return key})     // 将sel1的option放入     $.each(arr,function(i,n){         sel1.append("<option value="+ n.provinceId +">"+ n.provinceName +"</op

javascript三级联动效果实现2

var text = ""; for (i = 0; i < data.length; i++) {     text += "<option value=" + i + " data-pId=" + data[i].pId + ">" + data[i].pName + "</option>"; } $(".shengf").append(text); /

转: javascript实现全国城市三级联动菜单代码

<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script LANGUAGE="JavaScript"> function Dsy() { this.Items = {}; } Dsy

原生JavaScript的省市县三级联动

三级联动是我们写表单时必不可少的,比如在写收货地址时,就用到他了,最近在看原生JavaScript,从基础写起,待完善,以后再写个jquery版的. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>三级联动菜单</title> <style> select { font-family: &qu

关于时间的操作(JavaScript版)——年月日三级联动(默认显示系统时间)

这个功能是大学时自己使用纯JavaScript写的,没有借助Jquery,呵呵呵,看起来有点繁琐,可是在当时依稀的记得功能实现后自己好好的高兴一把了呢,从现在来看那时候的自己是多么的幼稚.多么的无知: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>年月日三级联动(默认显示系统时间)</title> <

JavaScript解析XML实现省市县三级联动

JavaScript解析XML实现省市县三级联动,简单易用,只需要一个XML和一个js就能能实现,下载后代开HTML就能看到效果.  原文:JavaScript解析XML实现省市县三级联动 源代码下载地址:http://www.zuidaima.com/share/1550463310056448.htm JavaScript解析XML实现省市县三级联动

(转)JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动

JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动 原文链接:http://heisetoufa.iteye.com/blog/353974 比较好的二级联动: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <HTML> 3 <HEAD> 4 <TITLE> New Document </TITLE>

Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动

看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2写的.http://blog.csdn.net/luckey_zh/article/details/22995389 以代码来说话吧. 首先是index1.jsp页面 [html] view plaincopy <%@ page language="java" import=&quo

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates表查询 Ajax加载数据 1.这是chinastates表 2.做一个简单php:Ajax_eg.php <!DOCTYPE html><html>    <head>        <meta c