【问题标题】:How to append content from a php file into a div with jquery mobile如何使用jquery mobile将php文件中的内容附加到div中
【发布时间】:2012-04-13 01:11:41
【问题描述】:

目标:我正在尝试刷新 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

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这可能有效:

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

    我会研究事件 API

    【讨论】:

    • 感谢您的回答,但我不确定这如何重新加载 div 的内容?我已经阅读了 doc 文件,但我没有从中得到任何更明智的信息。你能提供一些例子吗?谢谢
    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 2011-09-25
    • 2023-03-09
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多