2013-10-23 100 views
0

我是新來的ajax,我需要幫助。 這是一個腳本,在第一次被選中時填充第二個下拉列表。 它使用從數據庫獲取數據的GetStates操作正常工作。MVC ajax下拉列表url更改

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#CountriyID").change(function() { 
     var abbr = $("#CountriyID").val(); 

     $.ajax({ 
      url: "/SetUp/GetStates", 
      data: { countryCode: abbr }, 
      dataType: "json", 
      type: "POST", 
      error: function() { 
       alert("An error occurred."); 
      }, 
      success: function (data) { 
       var items = ""; 
       $.each(data, function (i, item) { 
        items += "<option value=\"" + item.Value + "\">" + item.Text + "</option>"; 
       }); 

       $("#StateID").html(items); 
      } 
     }); 
    }); 
}); 

</script> 

這裏是我的

@using (Html.BeginForm("Index", "SetUp", FormMethod.Post)) 
{ 
    <form action="" method="post"> 
     <input type="submit" name="action:AddCity" value="Add" /> 
    </form> 
    <div class="editor-field">@Html.DropDownListFor(model => model.CountriyID, new SelectList(Model.Countries, "ID", "Text"))</div> 
    <div class="editor-field">@Html.DropDownListFor(model => model.StateID, new SelectList(Model.States, "ID", "Text"))</div> 
} 

工作如果我需要添加一個城市我點擊提交按鈕並進入正確的行動的看法。 當我填充下拉列表時發生問題。人口數量之後,City按鈕不再響應。它看起來像「/ SetUp/GetStates」處的url get stack,我不能再對我的表單執行任何操作。

請讓我知道我做錯了什麼,在哪裏看看? 在此先感謝。

回答

0

嘗試下面的代碼希望它可以幫助你:

<form action="" method="post"> 

    <div class="editor-field">@Html.DropDownListFor(model => model.CountriyID, new SelectList(Model.Countries, "ID", "Text"))</div> 
    <div class="editor-field">@Html.DropDownListFor(model => model.StateID, new SelectList(Model.States, "ID", "Text"))</div> 

<input type="submit" name="action:AddCity" value="Add" /> 
    </form> 

隨着下拉必須進入的標籤,並提交必須在理想情況下標籤的最後的地方。

+0

誰新到這麼簡單 – user2839793