正常に移動されなかったフォルダノードだけをロールバックする方法を理解しようとしています。以下のコードは私がしようとしているものの例です。問題は、いくつかのフォルダを選択して別のフォルダに移動したときに発生します。ディレクトリの1つが移動に失敗した場合、元の親に戻すことができます。 残念ながら$.jstree.rollback(data.rlbk);
は、以前の場所に選択されたすべてのフォルダをロールバックします。jstreeで移動できなかったノードをロールバックする方法
$("#tree").jstree({...}).bind("move_node.jstree", function (e, data) {
// process all selected nodes directory
data.rslt.o.each(function (i) {
// Send request.
var move = $.parseJSON($.ajax({
url: "./jstree.php",
type: 'post',
async: false,
data: {
operation: "move_dir",
....
}
}).responseText);
// When everything's ok, the reponseText will be {success: true}
// In all other cases it won't exist at all.
if(move.success == undefined){
// Here I want to rollback the CURRENT failed node.
// $.jstree.rollback(data.rlbk); will rollback all
// of the directories that have been moved.
}
}
});
これを行う方法はありますか?
残念ながら、私が必要とするすべてを持っていた一から同じようなjqueryプラグインを既に書いているので、私はこの答えを受け入れることができません。申し訳ありませんが、遅れて返答しましたが、私は人々がアップボーンをしていることを知っています。私はこの質問を開いているので誰かが@DaveFの答えを見つけたら助けになりますので、アップしてください! – tftd
@tftdもちろん、気にしないなら、あなたのプラグインを共有できれば助けになります。 – alejosoft