【问题标题】:JQuery Mobile not applied未应用 JQuery Mobile
【发布时间】:2013-05-15 15:27:04
【问题描述】:

我在使用 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>');
    });
}

谢谢!

【问题讨论】:

  • 也许是我,但你能展示/评论一下应该发生什么

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


【解决方案1】:

工作示例: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');

【讨论】:

    【解决方案2】:

    检查这些类似的问题:jQuery Mobile creating a Collapsible set dynamically via ajax does not apply styling Dynamically adding collapsible elements Dynamically adding collapsible elements

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

    尝试调用

    $("collapsible").collapsible()
    

    在添加可折叠项以对其进行初始化之后。

    【讨论】:

    • 滑块初始化错误:不能在滑块初始化之前调用方法;试图调用方法“刷新”
    • 调用 '.slider()' 而不是 '.slider("refresh")'。 '.slider' 应该初始化元素。然后,当您将来动态更新它时,您可以使用 '.slider("refresh")'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2012-01-08
    • 1970-01-01
    • 2013-02-14
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多