http://www.jeasyui.com에서 'tree'라는 컨트롤을 사용하고 있습니다. 하지만 제 경우에는 첫 번째 최상위 레벨에서로드하고 노드 노드 중 하나를 클릭하면 자식 노드가로드됩니다. 이 기능에 동적 트리 컨트롤
<ul id="tt" checkbox="true" animate="true"></ul>
$(function() {
$('#tt').tree({
data: @Html.Raw(Model.Tree)
});
});
나는 DB에서 선택된 노드의 차일 노드를 얻을 : 방법 LoadDepartments에서
$(function() {
$('#tt').tree({
onBeforeExpand: function(node) {
var hospitalId = node.id;
$.getJSON('@Url.Action("LoadDepartments")', { hospitalId: hospitalId }, function() {
});
}});});
[HttpGet]
public ActionResult LoadDepartments(Guid hospitalId)
{
LoadHospitals();
var departments = _templateAccessor.GetDepartments(hospitalId);
var hospital = tree.Where(obj => obj.id == hospitalId.ToString()).FirstOrDefault();
if (hospital != null)
{
foreach (var department in departments)
{
DataTreeModel dep = new DataTreeModel();
dep.id = department.Id.ToString();
dep.text = department.Name;
dep.state = "closed";
hospital.children.Add(dep);
hospital.state = "open";
}
}
var result = SerializeToJsonString(tree);
return Json(result, JsonRequestBehavior.AllowGet);
}
나는 올바른 구조를 가지고 있지만, 나무는 새로운 요소를 표시하지 않습니다. 문제는 트리의 이전 내용을 정리하고 새 내용으로 채우는 방법입니다. 아마도 내가 잘못된 것을하고 있습니까?
JavaScript 코드는 일부 JSON을 예상하지만 동작이보기를 반환합니다. 그 맞습니까? – Suhas
나는 정확하지만 그 결과는 동일합니다 – revolutionkpi
'return Json (hospital, JsonRequestBehavior.AllowGet);으로 마지막 두 줄을 대체 할 것입니다 – Suhas