ajax实现三级联动下拉菜单 ----- 转载https://www.cnblogs.com/mengshenshenchu/p/6852371.html

ajax实现三级联动下拉菜单:  

  目前自己应用场景: 城市三级联动

  逻辑就是写三个方法,让省找到市,市找到区

  代码:

var citystr = "<select id='sheng'></select><select id='shi'></select><select id='qu'</select>";

$("#select").html(citystr);


 var qzDistrict = ""; // 区   // 发送定义的参数 不用管

//  获取省的option
function tiansheng() {   
   var node = ""  // 发送给后台的参数
    $.ajax({
          async: false, // 同步
          url: "xxxx",
          data: {"node": node},
          type: 'POST',
          dataType: 'json',
          success: funciton (data) {
              // 我这边接收过来后台的数据格式就是data.data是一个数组;
              for(var i=0;i<data.data.length;i++) {
                  $("#sheng").append("<option value='"+ data.data[i].id +"'>"+ data.data[i].name+ "</option>")
              }
              qzDistrict = $("#qu").val();
          }
    })
}      
//  获取市的option
function tianshi() {
            var node = $("#sheng").val();
            $.ajax({
                async:false,//同步
                cache: false,
                url: "xxxx",
                data: {"node": node},
                type: "POST",
                dataType: "json",
                success:function (data) {
                    for(var i=0;i<data.data.length;i++) {
                        $("#shi").append("<option value='"+ data.data[i].id +"'>"+ data.data[i].name+ "</option>")
                    }
                    qzDistrict = $("#qu").val();
                }
            })
        }     

//  获取区的option
 function tianqu() {
            var node = $("#shi").val();
            $.ajax({
                async: false,
                cache: false,
                url: "http://192.168.31.53:8005/find/cityList",
                data: {"node": node},
                type: "POST",
                dataType: "json",
                success:function(data) {
                    for(var i=0;i<data.data.length;i++) {
                        $("#qu").append("<option value='"+ data.data[i].id +"'>"+ data.data[i].name+ "</option>")
                    }
                    qzDistrict = $("#qu").val();
                }
            })
        }
// 执行
tiansheng();
tianshi();
tianqu();

 $(document).on('change','#sheng',function() {
            $("#shi").find("option").remove();   // 每次change 之后 必须清空 !!! 重要
            $("#qu").find("option").remove();   // 每次change 之后 必须清空 !!! 重要
            District = $("#qu").val();
            tianshi();
            tianqu();
});
        
$(document).on('change','#shi',function() {
            $("#qu").find("option").remove();  // 每次change 之后 必须清空 !!! 重要
            District = $("#qu").val();
            tianqu();
});


这样一个城市三级联动就ok了


         

  

posted @ 2018-05-27 21:17  ahaowh  阅读(545)  评论(0编辑  收藏  举报