dojox.mobile Переключатель в ListItem

Я новичок в додзё и пытаюсь понять, как сделать что-то программно, а не декларативно. Я могу легко создать список 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);

}

Однако, в отличие от декларативного примера, где переключатель размещается справа от элемента списка, переключатель просто размещается слева и перекрывает текст.

Может ли кто-нибудь посоветовать, как я могу добиться правильного размещения переключателя? Я вполне готов признать, что есть лучший способ сделать это полностью (поскольку я новичок в додзё), но не смог найти пример.

Спасибо


person Kate    schedule 19.04.2013    source источник


Ответы (1)


Наверное, в первый раз, но я нашел ответ сам. Похоже, пример, из которого я взял это, был либо неверным, либо в немного другом контексте. Вместо использования className при объявлении переключателя это должен быть просто class. например

    var sw = new dojox.mobile.Switch({
        class: "mblItemSwitch"
    });

После этого переключатель отображается правильно отформатированным и выровненным по правому краю.

person Kate    schedule 19.04.2013