0
所以我在處理級聯下拉列表時遇到問題。每當我在第一個下拉列表中選擇一個值時,第二個下拉列表將被填充,但在第二個下拉列表的頂部會顯示「第一個選定的值」。那有意義嗎?以下是代碼。我不確定它是否正確添加,似乎無法在螢火蟲上找到任何東西。mvc ajax dropdownlist值問題
任何意見表示讚賞。
謝謝!
的觀點:
<script type="text/javascript">
$(function() {
$('#<%: ViewData.TemplateInfo.GetFullHtmlFieldId("1stLevel") %>').change(function() {
$.ajax({
url: '<%: Url.Action("Index","2ndLevelDetails") %>?1stLevelId=' + $(this).val(),
success: function (data) {
$('#<%: ViewData.TemplateInfo.GetFullHtmlFieldId("2ndLevelId") %>').html(data);
},
async: false
});
});
});
</script>
<div class="dropdown">
<%: Html.DropDownList("1stLevelDetails", new SelectList(Model.1stLevel, "1stLevelId", "1stLevelDescription"))%>
</div>
<div class="dropdown">
<%: Html.DropDownListFor(model => model.2ndLevelId, new SelectList(Model.NTEESecondaryCodes, "2ndLevelId", "2ndLevelDescription", Model.2ndLevelId))%>
</div>
控制器2ndlevel返回的選項
public string Index(int 1stLevelId)
{
var ntee = new System.Text.StringBuilder();
foreach (2ndLevelDetails code in 2ndLevelDetails.Find2ndLevelIds(ArgentDb, 1stLevelId))
{
ntee.AppendFormat("<option value=\"{0}\">{1}</option>", code.2ndLevelId, code.Description);
}
return ntee.ToString();
}
你確定'change'事件有效嗎?將Ajax代碼更改爲簡單的警報以進行檢查。 –