2015-06-30 144 views
0

我有地區此腳本:填充下拉列表不工作

function LoadRegions() { 
    var region = $('#RegionID'); 
    alert("test"); 
    var url = "../Account/GetRegions"; 
    $.getJSON(url, { countryId: $('#CountryID').val() }, function (response) { 
     // clear and add default (null) option 

     region.empty().append($('<option></option>').val('').text("Please select")); 


     for (var i = 0; i < response.length; i++) { 
      region.append($('<option></option>').val(response[i].Id).text(response[i].Name)); 
     } 

    }); 
} 

鑑於我有:

@Html.DropDownListFor(m => m.SelectCountryId, Model.Countries, @Translator.Translate("PLEASE_SELECT"), new { id = "CountryID", @class = "form-control", @onchange = "LoadRegions();"}) 

控制器我有:

[AllowAnonymous] 
    public JsonResult GetRegions(int countryId) // return a JsonResult 
    { 
     IUserManager manager = UserFactory.GetUserManager(WebConfiguration.DefaultTerminalId); 
     var model = manager.GetRegions(countryId); 
     return Json(model, JsonRequestBehavior.AllowGet); 
    } 

我的想法是,當用戶選擇一個國家,我得到的地區,但由於某種原因,這是不working.any幫助?我得到警報是在功能上,但沒有別的

編輯:我的路線

routes.MapRoute(
       name: "DefaultAppWithLanguages", 
       url: "app/{languageId}/{controller}/{action}/{id}", 
       defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional }, 
       constraints: new { languageId = @"^[a-zA-Z]{2}$" } 
      ); 

      routes.MapRoute(
       name: "DefaultApp", 
       url: "app/{controller}/{action}/{id}", 
       defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional } 
      ); 

      routes.MapRoute(
       name: "Default", 
       url: "{*url}", 
       defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional } 
      ); 
+0

嘗試更改URL以'VAR URL = '@ Url.Action( 「GetRegions」, 「帳戶」)';'以確保其正確生成。 –

+0

現在我在控制檯中獲取GET http:// localhost:60789/@Url.Action(%22GetRegions%22,%20%22Account%22)?countryId = 4 404(Not Found) – None

+0

您是否在應用程序中有區域?變化之前的錯誤是什麼? –

回答

1

此基礎上,你的路線,var url = "../Account/GetRegions";不會打的方法。你需要改變它是

var url = '/app/en/Account/GetRegions';