2011-12-15 2 views
3

при использовании insertNodes для узлов будет создан уникальный идентификатор.set id при использовании insertnodes в dojo

insertNodes(addSelected, data, before, anchor) 

Как назначить определенное имя/текст как идентификатор для новых узлов?

+0

возможно дубликат [заданного атрибута при использовании insertnodes в додзё] (http://stackoverflow.com/questions/ 8514772/установленный атрибут-то время-используя-insertnodes-в-додзе) – hugomg

ответ

3

Создайте пользовательскую функцию «создатель» и установите идентификатор элемента. Пример:

В вашем HTML

<ol id="listNode"> 
</ol> 

В вашем JavaScript:

require(["dojo/dnd/Source"]); 

function myCreator(item, hint) { 
    var myLi = dojo.create('li', { id : item.id, innerHTML: item.text }); 

    if (hint == 'avatar') { 
     // create your avatar if you want 
     myLi.innerHTML = "Moving " + item.text + "..."; 
    } 
    return {node: myLi, data: item, type: "foo"}; 
} 

dojo.ready(function() { 
    var list = new dojo.dnd.Source("listNode", {creator: myCreator}); 

    list.insertNodes(false, [ 
     { id : "id1", text : "foo"}, 
     { id : "id2", text : "bar"}, 
     { id : "id3", text : "baz"} 
    ]); 
});