ASP.NET MVC+Ajax實現級聯下拉式清單

來源:互聯網
上載者:User

前端模版檔案,給第一個初始下拉式清單初始值,第二個沒資料,通過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等屬性。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.