카테고리 없음

[asp.net-mvc-4] viewmodel을 사용하는 드롭 다운 목록 검색의 좋은 예가 있습니까?

행복을전해요 2021. 1. 21. 12:26

이전에 동일한 예제를 만든 위치에 대해 데이터베이스에서 결과로 JSON 파일을 반환하는 함수를 호출하는이 스크립트를 사용하여 이름보기를 변경할 수 있습니다.

        <div class="col-md-8">


           @Html.DropDownListFor(r=>r.locationID ,new SelectList(Model.Locations,"ID","Name"), new { @class = "form-control TowerLoc" ,id = "location", OnChange="ChangeContent()" })
           
                        </div>
                            <div class="col-md-6">
                                 <label class="col-md-4 control-label">Tower</label>
                                       <div class="col-md-8">
                                       
                                        @Html.DropDownListFor(r=>r.TowerID, new SelectList(Model.Towers,"TowerID","TowerName"),new { @class = "form-control" , id="Towers"})
                                          </div>
                                               </div>
                                               

스크립트:

<script>
    $("#location").change(function () {
            $("#Towers").find("option:gt(0)").remove();
                    $("#Towers").find("option:first").text("Loading...");
                            $.getJSON("/Inquiries/GetChildren", {
                                        parentid: $(this).val()
                                                }, function (json) {
                                                            $("#Towers").find("option:first").remove();
                                                                        for (var i = 0; i < json.length; i++) {
                                                                        
                                                                                        $("<option/>").attr("value", json[i].TowerID).text(json[i].TowerName).appendTo($("#Towers"));
                                                                                                    }
                                                                                                            });
                                                                                                                });
                                                                                                                
                                                                                                                </script>
                                                                                                                

함수:

public JsonResult GetChildren(int parentID)
        {
        
                    var children = (from g in _db.Towers.Where(r => r.ProvinceID == parentID).ToList()
                                                select new Tower
                                                                            {
                                                                                                            TowerID = g.TowerID,
                                                                                                                                            TowerName = g.TowerName
                                                                                                                                                                        }).ToList();
                                                                                                                                                                                    return Json(children, JsonRequestBehavior.AllowGet);
                                                                                                                                                                                            }
                                                                                                                                                                                            


출처
https://stackoverflow.com/questions/22009778