国,省,市,区多级联动Jquery

效果图:

1、 2、

3、4、

简单实现效果,尚未优化,应该封装成一个方法。(一般不需要异步,直接前台全部加载完,这里由于个人需求才异步请求)

  $('#City').change(function () {
                var val = $("#Province option:selected").val();
                if (val !== '') {
                    $.ajax({
                        url: "url。。。。" + val,         //主要是网址
                        type: "Get",
                        contentType: "application/json",
                        dataType: "json",
                        success: function (data) {
                            var ddl = $("#Area");
                            ddl.empty();                //主要清空数据,再重新Append
                            var result = eval(data);
                            var opt = $("<option></option>").text('请选择市').val('');
                            ddl.append(opt);
                            //循环遍历 下拉框绑定
                            $(result).each(function (key) {
                                //添加option 对应Json对象名称
                                var opt = $("<option></option>").text(result[key].Name).val(result[key].ID);
                                ddl.append(opt);
                            });
                        },
                        error: function () {
                            alert("Error");
                        }
                    });
                }
            });
            $('#Province').change(function () {
                var val = $("#Province option:selected").val();
                if (val !== '') {
                    $.ajax({
                        url: "url。。。。" + val,
                        type: "Get",
                        contentType: "application/json",
                        dataType: "json",
                        success: function (data) {
                            var ddl = $("#City");                          
                            $('#Area').empty();  //省变了,市区和县肯定跟着变,所以这里就清空两个
                            ddl.empty();
                            var result = eval(data);
                            var opt = $("<option></option>").text('请选择市').val('');
                            ddl.append(opt);
                            //循环遍历 下拉框绑定
                            $(result).each(function (key) {
                                //添加option 对应Json对象名称
                                var opt = $("<option></option>").text(result[key].Name).val(result[key].ID);
                                ddl.append(opt);
                            });
                        },
                        error: function () {
                            alert("Error");
                        }
                    });
                }
            });
            $('#Country').change(function () {
                var val = $("#Country option:selected").val();
                $.ajax({
                    url: "url。。。。" + val,
                    type: "Get",
                    contentType: "application/json",
                    dataType: "json",
                    success: function (data) {
                        var ddl = $("#Province");
                        ddl.empty();
                        $('#City').empty();
                        $('#Area').empty();
                        var result = eval(data);
                        var opt = $("<option></option>").text('请选择省').val('');
                        ddl.append(opt);
                        //循环遍历 下拉框绑定
                        $(result).each(function (key) {
                            //添加option 对应Json对象名称
                            var opt = $("<option></option>").text(result[key].Name).val(result[key].ID);
                            ddl.append(opt);
                        });
                    },
                    error: function () {
                        alert("Error");
                    }
                });
            });
        })     

猜你喜欢

转载自www.cnblogs.com/bibi-feiniaoyuan/p/9230762.html