javascript - 尽管刷新,jQuery 格式仍不适用于 ajax 数据

标签 javascript php jquery html

我正在通过 GET 响应消息从服务器(php 文件)加载可折叠的 ListView 。但是,尽管刷新了 jQuery 元素,jQuery 格式并未应用于添加的 HTML

我的页面在这里:http://i.cs.hku.hk/~hsbashir/Project_Work/events/events.html

HTML代码(仅限相关代码)

<script>
lastRecord=0;

    function loadEvents(){

        $('#sample').html( 'hello' );
        $.get(
        "eventquery.php?lastRecord="+lastRecord,
        function( data ) {
            $('#loadCollapsible').append( data )
            .listview( 'refresh' );
            }); 

    }
</script>
</head>
<body style="background-color : #e9e9e9;" onload="loadEvents()">

<div data-iconpos="none" data-role="collapsibleset" data-theme="a" data-content-theme="a">

<div data-role="collapsible" data-collapsed="false">
    <h2><img src="today_calendar.png" style="height: 60px; vertical-align:middle;"> Today's Events </h2>
    <div id="loadCollapsible">
    <!-- Load from php -->
    </div>
</div>  

PHP代码(仅限相关代码)

    while ($row = mysql_fetch_array($result)){

        print '<div data-role="collapsible" data-collapsed="false">';

        print '<h5>'.$row['Title'].'<h5>';
        print ' <ul data-role="listview">';
        print '<li><a href="#">';
        print '<table><tr><td>Date</td>';
        print '<td style="padding: 10px;">'.$row['Date'].'</td>';
        print '</tr><tr>';
        print '<td> Time </td>';
        print '<td style="padding: 10px;">'.$row['Time_Duration'].'</td>';
        print '</tr><tr>';
        print '<td> Venue </td>';
        print '<td style="padding: 10px;">'.$row['Venue'].'</td>';
        print '</tr></table></a></li>';
        print '<li style="background-color: #CADECC;">';
        print '<button class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-calendar" style="width: 170px; float: right; position: relative;">Add to calendar</button>';
        print '</li></ul>'; 

        print '</div>';
    }

最佳答案

在调用刷新方法之前,必须首先初始化 jQuery Mobile ListView 。

因为您使用 ajax 加载列表,所以它不会自动初始化。试试这个:

function loadEvents(){

        $('#sample').html( 'hello' );
        $.get(
        "eventquery.php?lastRecord="+lastRecord,
        function( data ) {
            $('#loadCollapsible').append( data );
            $('#loadCollapsible ul').listview().listview( 'refresh' );
            }); 

    }

关于javascript - 尽管刷新,jQuery 格式仍不适用于 ajax 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24835160/

相关文章:

javascript - 如何决定一个组件是否应该有自己的reducer函数?

javascript - 任何人都知道如何在焦点上创建平滑的搜索栏扩展(w3.css)

php - 转换 mysql 字符

php - Zend Form AJAX 弹出窗口与 jQuery

jquery - 你可以将 Backbone listenTo与jquery对象一起使用吗?

javascript - 访问 iframe 中的元素

javascript - jQuery 验证 - 检查字符串是否具有 unicode 或空格字符不起作用

javascript - 从 CSS 执行 JavaScript

php - 使用通配符选择所有以 XXX 开头的列?

php - 使用下拉列表显示一类数据