jQueryMobileページに動的リストを挿入しようとしています。
メインページに、「list」というHTMLul要素があります。<ul id='list' data-role='listview'>
</ul>
すべてのリスト要素にはグリッド(class="ui-grid-a"
)が含まれています。グリッドの最初のdivには、各要素(div class="ui-block-a"
)にh2の説明が含まれ、2番目のdivには、コントロールグループ()に水平に配置された3つのボタンが含まれますdiv class="ui-block-b" data-role="controlgroup" data-type="horizontal"
。
要素が静的ページにある場合、ボタンは完全にレンダリングされますが、ページに動的に挿入しようとすると、ボタンは正しくレンダリングされません。以下に私のコードがあります(ここにjsfiddle )。私は何が欠けていますか?
DOMElement += '<li>';
for (i = 0 ; i < length ; i++) {
if (typeof systemArray[i] !== 'undefined') {
DOMElement += '<fieldset class="ui-grid-a"> <div class="ui-block-a" style="width:60%;"> <h2 id="'
DOMElement += "system" + systemArray[i].name;
DOMElement += '">';
DOMElement += systemArray[i].name;
DOMElement += '</h2>';
DOMElement += '</div>';
DOMElement += '<div class="ui-block-b" data-role="controlgroup" data-type="horizontal" style="width:30%;">';
DOMElement += '<a href="#" class="deletebutton" data-icon="delete" data-role="button" id="';
DOMElement += 'delete|' + systemArray[i].name;
DOMElement += '" data-iconpos="notext">Cancel</a>';
DOMElement += '<a href="#" class="modifybutton" data-icon="gear" data-role="button" id="';
DOMElement += 'modify|' + systemArray[i].name;
DOMElement += '" data-iconpos="notext">Modify</a>';
DOMElement += '<a href="#" class="connectbutton" data-icon="arrow-r" data-role="button" id="';
DOMElement += 'connect|' + systemArray[i].name;
DOMElement += '" data-iconpos="notext">Connect</a>';
DOMElement += '</div>'
DOMElement += '</fieldset>';
}
}
DOMElement += '</li>';
// Needs trigger ('create') to create the icons http://jquerymobiledictionary.pl/faq.html
$("#list").html(DOMElement).trigger('create');
$("#list").listview("refresh");