如何使用jquery mobile将php文件中的内容附加到div中

时间:2012-03-29 11:34:34

标签: php jquery-mobile append partial-page-refresh

目标:我正在尝试刷新div中的内容,以便在用户登录时,页面会动态更改。

进度:我的第一次尝试是使用$("#tab_b").load("php/tabs.php #tab_b");,但这并未更新DOM,因此未应用jquery样式。然后我尝试添加.trigger('create')函数$("#tab_b").trigger('create');这只会导致样式眨眼开启和关闭几分之一秒。然后我尝试了.append()函数,它似乎工作,我使用以下代码来测试函数,这是有效的:

$("#tab_b").html('');
$("#tab_b").append("<button type='submit' data-theme='a'>Test button</button>").trigger('create');

我唯一的问题是从php文件中获取内容然后将其附加到div。

应刷新的内容:“#tab_b”

<div id="tab_b" class="content_div">    
    <?php

    if(!isLoggedIn())
    {
        ...
    }
    else
    {
        echo("
        <button type='submit' data-theme='a' id='logout' >Logout</button>
         ");
    }
    ?>
</div>

关于如何做到这一点的任何想法?此外,欢迎任何有关改进的建议,我是初学程序员。

这个问题试图解决我在其他主题中讨论的更大问题:

jQuery Mobile does not apply styles after dynamically loading content

2 个答案:

答案 0 :(得分:1)

这可能有效:

$( '#tab_b' ).live( 'pageinit',function(event){
  alert( 'This page was just enhanced by jQuery Mobile!' );
});

我会查看Event API

答案 1 :(得分:0)

我发现你可以用$ .ajax函数获取数据。这将返回整个页面。 我的解决方案是将需要刷新的内容移动到新的php页面, tab_b.php并从那里加载它。不确定这是否是最好的解决方案,但它确实有效。

$.ajax({
     url: 'php/tab_b.php',
     success: function (data) {
          $("#tab_b").html('');
          $("#tab_b").append(data).trigger('create');
     }
});