我是 ajax 新手,需要帮助。这是一个脚本,一旦第一次被选中,就会填充第二个下拉列表。使用从数据库获取数据的 GetStates 操作可以正常工作。
<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>
}
如果我需要添加一个城市,我点击一个提交按钮,它会执行正确的操作。当我填充下拉列表时发生了问题。人口之后,城市按钮不再响应。看起来 url 在“/SetUp/GetStates”处获取堆栈,我无法再对我的表单执行任何操作。
请让我知道我做错了什么以及在哪里看?提前致谢。