1

私は完全に機能するダイナツリーを持っており、データはajax(データベースソース)を介してロードされます。今度はツリーのドラッグアンドドロップ機能を有効にしました。アイテムがドロップされたら、データベースを更新するためにajaxリクエストを実行して、ノードデータが更新されるようにします。しかし、私はphpでいくつかのチェックを行い、ノードをその「新しい場所」に配置できるかどうかを確認します。

phpがノードがドロップされた新しい場所を拒否した場合、どうすればノードの元の場所を復元できますか?ツリー全体のリロードは可能ですが、それを避けて、特定のアイテムを復元するだけです。

4

1 に答える 1

1

わかりました、これを行う正しい方法を見つけました。私はphpへのajaxリクエストを行いますが、それを同期(async false)に設定するので、dynatreeコードは結果を待ちます。次に、dynatree の move 関数にチェックを実装しました。

$.ajax({
        url: "xxx,
        async: false,
        success: function(data){
            if(data.error == 0){
                showModalOk(data.message);
                phpres = true;
            }else
                phpres = false;
            }

        }
    });

if(phpres == true){
    sourceNode.move(node, hitMode);
    node.expand(true);
}

そうすれば、許可されている場合にのみノードが移動されるため、後でノードを復元する必要はありません

于 2012-12-20T10:21:03.043 に答える