如何筛选多个级别的JQuery选择器?

如何筛选多个级别的JQuery选择器?,jquery,json,asp.net-mvc-3,jquery-ui,asp.net-mvc-4,Jquery,Json,Asp.net Mvc 3,Jquery Ui,Asp.net Mvc 4,我有三种方法可以在四个级别进行过滤 第一:治理率 第二:区域 第三:位置 四:在中午 方法Json,每个方法都是这样的 public ActionResult FilteringArea(int Id) { var selectArea = db.Areas.Where(r => r.GovernateId == Id) .Select(r => new { label = r.Name, id = r.Id });

我有三种方法可以在四个级别进行过滤 第一:治理率 第二:区域 第三:位置 四:在中午

方法Json,每个方法都是这样的

  public ActionResult FilteringArea(int Id)
    {
        var selectArea = db.Areas.Where(r => r.GovernateId == Id)
            .Select(r => new { label = r.Name, id = r.Id });

        return Json(selectArea, JsonRequestBehavior.AllowGet);

    }
在我看来,我用这个函数来过滤

$('#AreaId').on('change', function () {
        getATM($(this).find('option:selected'));            
        getLocation($(this).find('option:selected'));           
    });

    var getATM = function (obj) {
        var $input = $(obj);
        var jsonData = {
            "AreaId": $input.val()
        };
        var addressData = JSON.stringify(jsonData);
        $.ajax({
            url: '/reports/FilteringATM',
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: addressData,
            success: function (result) {
                $("#ATMId").find('option').remove().end();
                $("#ATMId").parent("div").find(".e-select-options").find("ul").find("li").remove().end();
                $("#ATMId").parent("div").find(".e-select-selected").text("-- ِAll--");
                $("#ATMId").append("<option value=''>-- All--</option>").end();
                for (i = 0; i < result.length; i++) {
                    if (i == 0) {
                        //$("#ATMId").parent("div").find(".e-select-selected").text(result[i].label);
                        //$("#ATMId").append("<option value=" + result[i].id + " selected='selected'>" + result[i].label + "</option>").end();
                    }
                    $("#ATMId").append("<option value=" + result[i].id + ">" + result[i].label + "</option>").end();
                    $("#ATMId").parent("div").find(".e-select-options").find("ul").append("<li class='undefined'>" + result[i].label + "</li>");
                }
            },
            error: function (result) {
                alert("failed");
            }
        });
    }
$('#AreaId')。在('change',function(){
getATM($(this.find('option:selected'));
getLocation($(this.find('option:selected'));
});
var getATM=函数(obj){
变量$input=$(obj);
var jsonData={
“AreaId”:$input.val()
};
var addressData=JSON.stringify(jsonData);
$.ajax({
url:“/reports/FilteringATM”,
类型:“POST”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
数据:地址数据,
成功:功能(结果){
$(“#ATMId”).find('option').remove().end();
$(“#ATMId”).parent(“div”).find(“e-select-options”).find(“ul”).find(“li”).remove().end();
$(“#ATMId”).parent(“div”).find(“.e-select-selected”).text(“--ِAll--”);
$(“#ATMId”).append(“--All--”)end();
对于(i=0;i”)”+结果[i]。label+””);
}
},
错误:函数(结果){
警报(“失败”);
}
});
}
和getLocation($(this).find('option:selected');与前面的函数完全相同
问题是当尝试改变第一级(区域)时,第三级和第四级仍然没有改变,所以有没有解决这个问题的想法

试一试:没有[i]的结果,但没有[i]的结果如何?出现的问题是再次加载新项目时