0

我有一个 PHP 脚本,它将为数据库中的每个项目呈现三个表单元素。例如,它的输出可能如下所示:

<!-- Entry 1 -->
<div data-role="fieldcontain">
<label for="1-name"></label>
<input type="text" name="1-note" id="1-note" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="1-age"></label>
<input type="text" name="1-note" id="1-note" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="1-description"></label>
<input type="text" name="1-note" id="1-note" data-mini="true" />
</div>  

...

<!-- Entry n -->
<div data-role="fieldcontain">
<label for="n-name"></label>
<input type="text" name="n-note" id="n-note" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="n-age"></label>
<input type="text" name="n-note" id="n-note" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="n-description"></label>
<input type="text" name="n-note" id="n-note" data-mini="true" />
</div>

然后在主页上,我使用 Ajax 将 php 生成的内容添加到页面......

$(document).on('pageshow', function(){
    $("#menu1").bind("change", function() {
        $.ajax({
             type: "GET", 
             url: "includes/ajax_get_entries.php",
             data: "table="+$("#menu1").val(),
             success: function(html) {
                 $("#wrap").html(html).selectmenu('refresh', true);
            }
        });
    });
}); 

...通过将 PHP 内容放在包装器之间:

<div data-role="fieldcontain" id="wrap"></div>

将它添加到页面可以正常工作,但 jQuery Mobile 不会更新样式。

我怎样才能让它更新风格?

如果使用 .show() 和 .hide(),我无法将内容添加到站点并隐藏,因为我需要用户对我需要使用哪个表的响应。

4

1 回答 1

0

你可以打电话

$("#wrap").trigger('create');

在您的成功回调中。

另请参阅此问题jQuery Mobile: Markup Enhancement of dynamic added content

于 2013-07-15T10:50:26.653 回答