[英]Drop Down Cascading MVC 2
我有約束力A下降第一個的變化。 但我得到了未定義。
這是我嘗試過的。 在視圖中
<select id="BreakOutValue" class="input1_drop" onchange="onChange()" >
</select>
<%:Html.DropDownList("DropClient", new SelectList(Model.DropClient, "Value", "Text", Model.txtDropClient), "-- Select --", new { @class = "input1_drop", id = "DropClient", @onchange = "onClientChange();"})%>
if ($("#DropClient").val() != '') {
$.ajax({
async: false,
type: 'post',
url: '/Report/BindBreakOutsWithClient_ID',
data: { Client_ID: $("#DropClient").val() },
success: function (data) {
debugger;
// var responseID = eval("(" + data + ")");
// var SystemField = responseID.List;
var items = "";
$.each(data, function (i, data) {
items += "<option value='" + data.Client_ID + "'>" + data.labelname + "</option>";
});
$("#BreakOutValue").html(items);
// $("#BreakOutValue option").remove();
// $("#BreakOutValue").append("<option value=''>-- Select --</option>");
// for (var i = 0; i < data.length; i++) {
// $("#BreakOutValue").append("<option selected='selected' value=" + data.Data[i] + ">" + data.Data[i] + "</option>");
// }
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
return false;
}
在控制器中
public ActionResult BindBreakOutsWithClient_ID(string Client_ID)
{
int Client = Convert.ToInt32(Client_ID);
// var qBreakOut = from c in DBReport.ClientMappings orderby c.labelname ascending where c.Client_ID == Client && c.availableinui == true select c;
var BreakOut = dbReport.ClientMappings.Where(m => m.Client_ID == Client && m.availableinui == true).OrderBy(m => m.labelname).ToList();
return Json(new { Data = BreakOut });
}
但我在下拉列表中沒有得到任何東西。 我沒有定義。
在您的控制器操作中,您已使用Data
屬性為Json響應添加前綴:
return Json(new { Data = BreakOut });
因此,請確保在客戶端上循環使用此屬性:
var items = "";
$.each(data.Data, function (i, item) {
items += "<option value='" + item.Client_ID + "'>" + item.labelname + "</option>";
});
$("#BreakOutValue").html(items);
或者如果您想保留當前代碼,則直接返回列表:
return Json(BreakOut);
另外,我強烈建議您在$.ajax
調用中刪除async: false
參數。 通過設置此參數,您將向服務器發出阻止請求,這完全違背了AJAX調用的全部目的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.