JQuery Mobile未应用

时间:2013-05-15 15:27:05

标签: jquery css3 jquery-mobile jquery-mobile-fieldset jquery-mobile-slider

我在使用JQueryMobile时遇到了一些麻烦,因为我想实现一些小部件,但小部件的主题和颜色并没有得到很好的实现。

这是一张照片,展示了发生了什么: enter image description here

例如,正确的小部件就是:

enter image description here

如果我动态添加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>');
    });
}

谢谢!

2 个答案:

答案 0 :(得分:2)

工作示例:http://jsfiddle.net/Gajotres/6nG2n/

您正在组合几个不同的小部件,以增强其标记,您应该运行触发器('创建')。

在我的其他答案中详细了解它: 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');

答案 1 :(得分:0)

查看以下类似问题:jQuery Mobile creating a Collapsible set dynamically via ajax does not apply styling Dynamically adding collapsible elements Dynamically adding collapsible elements

在JQuery mobile中动态添加内容后,您可以通过调用create或refresh方法来应用标记。

尝试拨打

$("collapsible").collapsible()

附加可折叠以初始化它。