#TreeDiv で openTemplate 関数を使用して dynatree ツリービューをレンダリングしています。ダイナツリーの特定のテンプレートのすべてのユニットをロードする前に、#TreeDiv を空にするかクリアして、既存のツリーを削除します。これは初めて機能します。
#TreeDiv で別のテンプレートの他のユニットを読み込もうとすると、ユニット データが表示されません。div は空です。最初にユニット ツリーを作成したときと同じようにコードが正常に実行されるため、何らかの方法で #TreeDiv が破損しました。違いは、2 回目に .empty() を実行したときに、既にツリーが存在することです。
私は何を間違っていますか?
function openTemplate(dlg, form) {
$.ajax({
url: $(form).attr('action'),
type: 'POST',
data: form.serialize(),
success: function (response) {
if (response.success) {
dlg.dialog("close");
$('#TreeDiv').empty();
loadUnits(response.data);
}
else {
// Reload the dialog with the form to show model/validation errors
dlg.html(response);
}
}
});
}
function loadUnits(data) {
$('#TreeDiv').dynatree({
onActivate: function (node) {
getTestSteps(node.data.key);
},
onLazyRead: function (node) {
node.appendAjax({
url: '@Url.Action("GetChildrenUnits","Unit")',
data: {"unitId": node.data.key, "templateId": 1 }
});
},
children: data
});
}