0

以下の Dojo DnD を使用していますが、catalogソースからアイテムを削除および追加する方法がわかりません。私が最終的にやりたいことは、ユーザーに次のことを許可することです:

  1. アイテムを から にドラッグcatalogwishlistます ... これは正常に機能しています。
  2. [リストのクリア] ボタンをクリックしcatalogて、 に移動されなかった の残りのアイテムを削除します... サポートが必要です。wishlist
  3. catalog以下のコードにリストされていない別のボタンをクリックして、新しい項目を に追加できるようにするには... ここで助けが必要です。

要約すると、アイテムを削除したり、 との間でアイテムを追加したり、catalog移動したアイテムを に残す方法を知る必要がありwishlistます。

dojo.addOnLoad(function() {
    require([ "dojo/dom-class", "dojo/dnd/Source", "dijit/form/Button", "dojo/domReady!" ], function(domClass, Source){
        var catalog = new Source("catalogNode");
        catalog.insertNodes(false, [
            { data: "Bushmaster <div id='5' style='display:none;'>5</div>"},
            { data: "Colt <div id='4' style='display:none;'>4</div>"},
            { data: "DPMS <div id='6' style='display:none;'>6</div>"},
            { data: "Glock <div id='2' style='display:none;'>2</div>"},
            { data: "Kahr Arms <div id='7' style='display:none;'>7</div>"},
            { data: "Marlin <div id='3' style='display:none;'>3</div>"},
            { data: "Remington <div id='78' style='display:none;'>78</div>"},
            { data: "Rock River Arms <div id='1' style='display:none;'>1</div>"},
            { data: "Smith & Wesson <div id='105' style='display:none;'>105</div>"}
        ]);
        catalog.forInItems(function(item, id, map){
            domClass.add(id, item.type[0]);
        });

        var wishlist = new Source("wishlistNode");

        new dijit.form.Button({
            label: "Clear List",
            onClick: function() {
                alert("Clearing Items");
            }
        },
        "clearListBtn");
    });
});
4

1 に答える 1

1

ソース内のすべての (残りの) 要素を削除します。

// e.g., var catalog = new Source("catalogNode");
catalog.selectAll().deleteSelectedNodes();

まったく同じを使用して、いつでも新しいアイテムを追加できますinsertNodes()

catalog.insertNodes(false, additionalData);
于 2012-08-12T21:19:56.597 に答える