如何在jQuery Accordion上执行以下ajax请求?
我使用Asp.Net MVC创建了一个jQuery Accordion,它工作正常。 手风琴显示员工姓名列表,当我点击某个项目时,它会显示详细信息。 我想发送一个AJAX请求,以便在他们点击某个项目时获取员工详细信息,而不是一次性加载所有员工详细信息。 请看下面的代码。
另外,请告诉我如何保持手风琴中的第一个项目折叠而不是显示细节,是否有任何方法可以将标题向右移动而不使用 
?
@foreach (var item in Model.Employees) { @item.EmployeeName
Address: @item.Address
Town: @item.Town
Postcode: @item.PostCode
PhoneNumber: @item.PhoneNumber
} $(function () { $("Accordion").click(function (evt) { $.ajax({ url: "/Accordion/GetEmployeeDetails", type: 'POST', data: //need code to pass the employeeid that was clicked on the accordion, success: function (data) { $.each(data, function (i, val) { //need code to populate the respective accordion with the employee details }); } }); } });
这是一个向控制器发送AJAX请求的示例:
@foreach (var item in Model.Employees) { @item.EmployeeName
Address: @item.Address
Town: @item.Town
Postcode: @item.PostCode
PhoneNumber: @item.PhoneNumber
}
在你的控制器中:
[HttpGet] public ActionResult GetEmployeeDetails(int employeeId) { // code: get the details based on employeeId var detail = new Model.EmployeeDetail(); return Json(detail, JsonRequestBehavior.AllowGet); }
Thiago的实施似乎应该有效。 但是,我会基于Employee
模型创建一个部分视图_EmployeeDetails
以及您希望细节的外观,
@model Employee Address: @item.Address
Town: @item.Town
Postcode: @item.PostCode
PhoneNumber: @item.PhoneNumber
在您的控制器中,您将返回它,
public ActionResult GetEmployeeDetails(int employeeId) { ... var employee = Repository.GetEmployee(employeeId); return PartialView("_EmployeeDetails", employee); }
您可以使用哪个结果来设置AJAX响应中每个
内容,