Я новичок в додзё и пытаюсь понять, как сделать что-то программно, а не декларативно. Я могу легко создать список dojox.mobile.RoundRectList, содержащий dojox.mobile.ListItem, который сам декларативно содержит dojox.mobile.switch, например
<ul data-dojo-type="dojox.mobile.RoundRectList">
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="icon:'../../app/images/i-icon-1.png'">
Airplane Mode
<div class="mblItemSwitch" data-dojo-type="dojox.mobile.Switch"></div>
</li>
This is from the getting started guide here: http://dojotoolkit.org/documentation/tutorials/1.8/mobile/tweetview/getting_started/demo/
Что я хочу сделать, так это динамически генерировать элементы списка, каждый со своей собственной динамически генерируемой кнопкой. Следующий код делает это («список» — это массив объектов, которые я создал ранее в коде, а «ListElement» — это декларативно размещенный dojox.mobile.RoundRectList):
var listObj = dijit.byId("ListElement");
for (var n = 0; n < list.length; n++) {
var item = new dojox.mobile.ListItem({
id: "item" + list[n].ID,
label: list[n].Name
});
var sw = new dojox.mobile.Switch({
className: "mblItemSwitch"
});
item.addChild(sw);
listObj.addChild(item);
}
Однако, в отличие от декларативного примера, где переключатель размещается справа от элемента списка, переключатель просто размещается слева и перекрывает текст.
Может ли кто-нибудь посоветовать, как я могу добиться правильного размещения переключателя? Я вполне готов признать, что есть лучший способ сделать это полностью (поскольку я новичок в додзё), но не смог найти пример.
Спасибо