前端模版檔案,給第一個初始下拉式清單初始值,第二個沒資料,通過Ajax調用後台返回json資料繫結
| 代碼如下 |
複製代碼 |
|
@Html.DropDownList("CategroyID", (IEnumerable<SelectListItem>)ViewBag.CategoryID, "請選擇...", new { id = "CategroyID", onchange = "GetArticleClass(this)" })
<select id="ArticleClassID" name="ArticleClassID">
<option value="">請選擇...</option>
</select>
<script type="text/javascript">
function GetArticleClass(id) {
$("#ArticleClassID").empty(); //清空城市SELECT控制項
$.ajax({
url: '/home/GetArticleClass/' + $("#CategroyID").val(),
type: "get",
datatype: "json",
success: function (data) {
if (data.length==0) {
$("<option></option>")
.val("0")
.text("請選擇...")
.appendTo($("#ArticleClassID"));
}
$.each(data, function (i, item) {
$("<option></option>")
.val(item["ID"])
.text(item["Name"])
.appendTo($("#ArticleClassID"));
});
}
});
}
</script> |
後台方法
| 代碼如下 |
複製代碼 |
public ActionResult GetArticleClass(int id=0)
{
List<ArticleClassModels> articleClass = db.ArticleClass.Where(a => a.CategoryID == id).ToList();
return Json(articleClass, JsonRequestBehavior.AllowGet);
} |
注意事項
其中ArticleClassModels模型包括ID,Name等屬性。