0

我有以下 Dojo DnD,但我不知道如何从catalog源中删除和添加项目。我最终想要做的是允许用户:

  1. 将项目从...catalog拖到wishlist...这工作正常。
  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 回答