###三级 单选联动效果(实现思路:看图)。项目实例。

===①项目select ,change加载:订单。


===②订单select ,change加载:订单项。(思路同上图)。

===③全部js代码:

$(function(){
    getCampaignId();     //过滤条件
});
//项目下拉框(/td/report/orderitem)
function getCampaignId(){
    $.ajax({
        type : "post",
        async : true,        //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)/td/report/audience/campaign
        url : "/td/report/audience/campaign",
        data : {name:"A0001"},
        dataType : "json",
        success : function(result) {
            if (result != null && result.length > 0) {
                $("#campaignId").empty();
                $("#orderId").empty();
                $("#orderItemId").empty();
                $("#orderId").append('<option value="0" style="display: none"></option>');
                $("#orderItemId").append('<option value="0" style="display: none"></option>');
                for(var i=0;i<result.length;i++){
                    if(0 == i){
                        $("#campaignId").append('<option value="' + result[i].id + '">' + result[i].name + '</option>');
                        getOrderId(result[i].id);//根据项目id查询 订单。
                    }else {
                        $("#campaignId").append('<option value="' + result[i].id + '">' + result[i].name + '</option>');
                    }
                }
                downloadData();
            }else {
                downloadData();
            }
        },
        error : function(errorMsg) {
            tooltip("请求数据失败,请稍后尝试");
        }
    })
}

//订单下拉框
function getOrderId(obj) {
    $("#orderId").empty();
    $("#orderId").append('<option value="0" style="display: none"></option>');
    $("#orderItemId").empty();
    $("#orderItemId").append('<option value="0" style="display: none"></option>');
    $.ajax({
        type: "post",
        async: true,        //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
        url: "/td/report/orderinfo",
        data: {campaignId: obj},
        dataType: "json",
        success: function (result) {
            if (result != null && result.length > 0) {
                for (var i = 0; i < result.length; i++) {
                    $("#orderId").append('<option value="' + result[i].id + '">' + result[i].orderName + '</option>');
                    getOrderItemId(result[i].id);//select change事件:每个订单都要查询 订单项。
                }
            }
        },
        error: function (errorMsg) {
            tooltip("请求数据失败,请稍后尝试");
        }
    })
}

//订单项目下拉框
function getOrderItemId(obj) {
    $("#orderItemId").empty();
    $("#orderItemId").append('<option value="0" style="display: none"></option>');
    $.ajax({
        type: "post",
        async: true,        //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
        url: "/td/report/orderitemInfo",
        data: {orderId: obj},
        dataType: "json",
        success: function (result) {
            if (result != null && result.length > 0) {
                for (var i = 0; i < result.length; i++) {
                    $("#orderItemId").append('<option value="' + result[i].id + '">' + result[i].orderItemName + '</option>');
                }
            }
        },
        error: function (errorMsg) {
            tooltip("请求数据失败,请稍后尝试");
        }
    })
}
===值得学习,Mark。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值