1) jQuery ajax를 사용하여 사용자가 첫 번째 드롭 다운을 선택할 때 두 번째 드롭 다운 항목을 가져올 수 있습니다. 이
@Html.DropDownListFor(x => x.SelectedCategoryID,
new SelectList(Model.Categories, "ID", "Name"), "Select")
@Html.DropDownListFor(x => x.SelectedSubCategoryID,
new SelectList(Model.SubCategories, "ID", "Name"), "Select")
처럼
이 카테고리 클래스를 가정하면보기에이
public class Category
{
public ID { set;get;}
public string Name { set;get;}
}
및 드롭 다운 모양이다 이제 첫 번째 드롭 다운의 변경 이벤트를 수신하는 몇 가지 자바 스크립트를 가지고 값을 얻을 카테고리 ID를 받아들이고 하위 카테고리 목록을 JSON
형식으로 반환하는 액션 메소드에 대한 ajax 호출을 작성하십시오.
<script type="text/javascript">
$(function() {
$("#SelectedCategoryID").change(function() {
var self = $(this);
var items="";
$.getJSON("@Url.Action("Index", "GetSubCategories")?id="+self.val(),
function(data){
$.each(data,function(index,item){
items+="<option value='"+item.ID+"'>"+item.Name+"</option>";
});
$("#SelectedSubCategoryID").html(items);
});
});
});
</script>
이제
JSON
형식
public ActionResult GetSubCategories(int id)
{
List<Category> subCategoryList=new List<Category>();
//to do : fill the list of (sub) categories to the
// above list for the category id passed to this method.
return Json(subCategoryList,Json.RequestBehaviour.AllowGet);
}
2) 세션이 잘해야에서 (하위) 카테고리의 목록을 반환하는 GetSubCategories
조치 방법이 있어야합니다.
무엇을 시도 했습니까? 코드가 작동하지 않는다고 말하면 코드가 작동하지 않는 것을 확인하십시오. –