我在使用JQueryMobile时遇到了一些麻烦,因为我想实现一些小部件,但是这些小部件的主题和颜色没有很好地实现。
这是一张显示正在发生的事情的照片:
例如,正确的小部件是:
如果我动态添加jquerymobile小部件,则该主题添加得不好,但是如果html已经存在于文件中(未使用javascript动态添加),则该主题看起来不错。这是我用来添加小部件的代码:
function cesta_insert_html(){
var cesta_bought = $('body').data('cesta_list');
cesta_bought.forEach(function(element, index){
image = get_product_info(element[0].id, 'data' + $('body').data('clicked_listview_item'));
$('#cesta_view').append('<div data-role="collapsible-set" id="collapsible" data-theme="a" data-content-theme="c"><div data-role="collapsible" data-collapsed="false"><h3 id="title_collapsible">'+image.pname+'</h3><center><div id=image_cesta><img src=data:imajpeg;base64,'+image.pimage+' alt="image"></div><div data-role="fieldcontain"><fieldset data-role="controlgroup"><input type="range" class="slider" name="slider" value="0" min="0" max="100" data-highlight="false"></fieldset></div></center><div class="ui-grid-a"><div class="ui-block-a"><a id=SaveChangesCesta data-role="button" type="submit" >Guardar cambios</a></div><div class="ui-block-b"><a id="DeleteCesta" type="submit" >Eliminar de cesta</a></div></div></div></div><br><br>');
});
}
谢谢!
最佳答案
工作示例:http://jsfiddle.net/Gajotres/6nG2n/
您正在组合几个不同的小部件,要增强它们的标记,应运行trigger('create')。
在我的其他答案中进一步了解它:jQuery Mobile: Markup Enhancement of dynamically added content
$('[data-role="content"]').append('<div data-role="collapsible-set" id="collapsible" data-theme="a" data-content-theme="c"><div data-role="collapsible" data-collapsed="false"><h3 id="title_collapsible">Image</h3><center><div id=image_cesta><img src=data:imajpeg;base64,Image alt="image"></div><div data-role="fieldcontain"><fieldset data-role="controlgroup"><input type="range" class="slider" name="slider" value="0" min="0" max="100" data-highlight="false"></fieldset></div></center><div class="ui-grid-a"><div class="ui-block-a"><a id=SaveChangesCesta data-role="button" type="submit" >Guardar cambios</a></div><div class="ui-block-b"><a id="DeleteCesta" type="submit" >Eliminar de cesta</a></div></div></div></div><br><br>');
$('#index').trigger('create');