2010-05-14 16 views
0

我建立一個員工登記表格在aspnet mvc,我有像「學校」列表在1下拉框和「部門」列表另一個字段,問題是我想說明的學校名單的變化部名單,我已經做了跟隨着代碼:填寫數據在下拉框中按照前面的下拉框中選擇的數據在aspnet mvc 1

 

public ActionResult EmployeeCreate() 
{ 
    var getSchool = SchoolRepository.GetAllSchoolsInArray();//this gets school_id as value and school_name as text for dropdown box 
    ViewData["SchoolsList"] = getSchool; 

    return View(); 
} 
 
 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult EmployeeCreate() 
{ 
    _employeeRepository.CreateEmployee(employeeToCreate); 
    _employeeRepository.SaveToDb(); 
} 
 

這裏是查看

 

Html.DropDownList("SchoolLists") 
Html.DropDownList("DepartmentLists") 
 

現在,我怎麼得到所選scho的部門ol在下拉框中

回答

1

如果您希望根據所選School的值填充Departments列表,當此值更改時,您可以使用JavaScript和AJAX。所以你設置一個控制作用,這將返回部門給定的學校:

public DepartmentsController: Controller 
{ 
    public ActionResult Index(int? schoolId) 
    { 
     var departments = _depsRepo.GetDepartmentsForSchool(schoolId); 
     return Json(departments); 
    } 
} 

一旦你有了這個控制器,你可以使用jQuery註冊學校的變化事件下拉:

$(function() { 
    $('#SchoolList').change(function() { 
     var schoolId = $(this).val(); 
     $.getJSON('/departments/index', { schoolId: schoolId }, 
      function(departments) { 
       var depsList = $('#DepartmentLists'); 
       depsList.empty(); 
       $(departments).each(function(i, department) { 
        // Id and Name used here should be properties 
        // of the department model 
        depsList.append(
         '<option value="' + department.Id + '">' + 
         department.Name + '</option>' 
        ); 
       }); 
     }); 
    }); 
}); 
相關問題