【发布时间】:2015-11-30 06:37:53
【问题描述】:
我正在做一个 mvc 5 项目,我有购物车视图,我有 2 个名为 country 和 state 的 deopdownlist,当它运行时,国家模型填充国家下拉列表,现在我想在国家下拉列表更改时填充国家下拉列表所以我使用下面的代码来执行此操作,但它无法成功运行。我调试此代码它可以正常运行,唯一的问题是此代码无法附加到状态下拉列表。我不知道该怎么做
@model IEnumerable<NewMVCWebApp.Models.Country>
<script>
function f11() {
var a = $("#se option:selected").text();
var b = $("#se option:selected").index();
$.ajax({
url: "/State/GetStates",
data: { a: a, b: b },
type:"post",
success: function (value) {
cities = JSON.parse(value);
$("#ss").html("");
$("#ss").append("<option>--- please select---</option>");
$.each(cities, function (idx, city) {
$("#ss").append("<option value='" + city.ID + "'>" + city.name + "</option>")
})
},
error: function () {
$("#lbl").html("Error in Ajax...!");
}
})
}
</script>
<div class="tabs-b">
<ul>
<li>estimate</li>
</ul>
<div>
<div>
<p>enter destination</p>
<p class="required">
<label for="sha">Country</label>
<select id="se" name="Country" onchange="f11()">
<option>--- please select ---</option>
@foreach (var item in Model)
{
<option value="@item.ID">@item.name</option>
}
</select>
</p>
<p class="required">
<label>region</label>
<select id="ss"></select>
</p>
<p>
<label for="shc">post code</label>
<input type="text" name="shc" id="shc" required="">
</p>
<p class="link-c">@*<a href="./">get</a>*@</p>
</div>
<div>
<p></p>
</div>
<div>
<p></p>
</div>
</div>
</div>
控制器中的动作
public string GetStates(string a,string b)
{
JavaScriptSerializer js = new JavaScriptSerializer();
List<state> states = _context.states.Where(x => x.IDK == Idk).ToList();
return js.Serialize(states.Select(x => new { ID = x.ID, name = x.name }));
}
【问题讨论】:
标签: javascript select model tags fill