Jquery getJSON没有触发控制器方法

时间:2012-05-04 05:27:43

标签: jquery asp.net-mvc model-view-controller drop-down-menu

我正在尝试实现我已创建以下脚本的级联下拉列表:

$(document).ready(function () {
            var district = $("#ddlDistrict");
            $('#ddlState').change(function () {
                //                district.find('option').remove();
                var cd = $(this).val();
                alert(cd);
                var url = '<!--Url.Content("~/")-->' + 'Stranger1/GetDistrict';
                $.getJSON("/Stranger1/GetDistrict?state="+cd, { id: cd }, function (data) {
                    //Clear the Department list
                    $("#ddlDistrict").empty();
                    $.each(data,function (index, optionData) {
                    $("#ddlDistrict").append("<option value=" + optionData.Value + ">" + optionData.Text + "</option>");
                    });
                });
            });
        });

警报(cd)给出正确的值。但是第二个下拉列表没有显示结果,getJSON方法没有触发GetDistrict方法。

我视图中的列表是:

@Html.DropDownList("ddlState", (IEnumerable<SelectListItem>)ViewData["StateType"])
@Html.DropDownList("ddlDistrict",new List<SelectListItem>() )

以下是控制器:

public JsonResult GetDistrict(int id)
{
    JsonResult result = new JsonResult(); 
    IEnumerable<SelectListItem> district = new SelectList(db.sp_get_district(id, 99).Select(r => new SelectListItem { Value = r.DISTRICT_CD.ToString(), Text = r.DISTRICT }), "value", "text");

    result.Data = district.ToList(); 
    result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; 
    return result;   
}

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

尝试编辑

$。getJSON(“/ Stranger1 / GetDistrict?id =”+ cd,function(data)