Ich habe jstree plugin Ich fülle dieses Plugin einfach durch ausgewählte Knoten und Daten mit Ajax in Node-Select-Methode. Althouh mache ich eine Kontrolle mit „letChangeTrig“ es selbst nennen onChamge Methode rekursiv aufgrund ich Baum refrest .. aber ich möchte dies rufen, wenn Benutzer nur wählen ..Stop jquery onChange rekursive Iteration
$('#tree_2').jstree({
}).on('changed.jstree', function (e, datap) {
debugger
if(!letChangeTrig)
{
letChangeTrig = true;
return;
}
$.ajax({
url: "../../Controller/ActiveDirectoryController.php5",
type: "POST",
dataType: "json",
data: params,
success: function (result) {
treeData_ = prepareObjectsforTree(result.Objects);
resfreshJSTree(treeData_);
},
error: function (a, b, c) {
}
});
});
refresh:
function resfreshJSTree(treeDataa) {
letChangeTrig = false;
$('#tree_2').jstree(true).settings.core.data = treeDataa;
$('#tree_2').jstree(true).refresh();
}
und das ist meine Jstree Refresh-Funktion, die die OnChange-Methode auslösen .. und Daten .. nach der Antwort zurück zum Erfolg Ich rufe dies erneut zu Baum mit geänderten Daten zu aktualisieren, aber auf diese Weise beginnt es sich selbst ohne Benutzer wählen wählen Sie es und es fallen in Schleife .. Ich muss es durch logische Kontrolle stoppen
Ihr Ereignisobjekt wird in die Callback-Funktion übergeben. Versuchen Sie e.stopPropagation() – user888734
Ok ich sehe jetzt, danke –