javascript - JQuery Mobile 没有方法 'listview()'

标签 javascript cordova jquery-mobile

下面的代码显示了一个函数 cacheListPrint()这是从 onclick 调用的使用 Phonegap 的 JQuery Mobile 框架“主页”页面上的按钮元素。

下面的 HTML 显示了从 href 加载的目标页面“主页”页面的元素。

cacheListPrint()函数从 SQLLite 数据库中检索数据,然后使用该数据库动态创建和填充无序列表作为 JQuery viewlist元素。

当页面加载时, View 列表没有格式化,只是显示从数据库中检索到的每个元素的文本标题和图像。正在显示数据并且与从数据库请求的数据一致 - 所以我知道列表已成功创建,只是无法正确呈现。

我试过使用 $('#placeslist').viewlist(); & $('#placeslist').viewlist('refresh');.trigger('create')的位置目前已作引用。它们都不起作用。我也试过移动 .trigger('create')声明到 <ul> 正下方的行已声明。

此外,当调用 viewlist(...) 中的任何一个时功能,在Eclipse调试终端抛出如下错误:

Uncaught TypeError: Object [object Object] has no method 'listview' - 显然表明 viewlist是一个未知的方法调用。

function cacheListPrint() {
            db.transaction(queryDBPrint, errorCB);

        }

        function queryDBPrint(tx) {
            tx.executeSql('SELECT * FROM cache', [], querySuccessPrint, errorCB);
        }

        function querySuccessPrint(tx, results) {
                $('#placeslistcontainer').empty();
                $('#placeslistcontainer').html('<ul id="placeslist" data-filter="true"></ul>');

                $.each(results.rows, function(index){
                    var row = results.rows.item(index);
                    $("#placeslist").append('<li><a href="#"><h1>'+row['name']+'</h1><img src="'+row['image']+'" /></a></li>');
                });
                $("#cachelist").trigger('create');
        }

        function errorCB(err) {
            alert("Error processing SQL: "+err.code);
}



<div data-role="page" id="cachelist" data-transition="none"> <!-- Start of cache list screen -->
        <header data-role="header">
            <h1>Cache List</h1>
            <a href="#home" data-icon="home" data-transition="none">Home</a>
        </header>
        <div data-role="content" id="placeslistcontainer">

        </div>
        <footer data-role="footer" data-position="fixed">
        </footer>
</div> <!-- End of cache list screen -->

我已经广泛阅读了 JQuery Mobile API,并花了几个小时在谷歌上搜索这个问题——许多“现有”的建议在考虑时很有意义,但在实现时却行不通。我对实现建议很有信心,但 JQuery 和 Javascript 对我来说是相对较新的语言 - 因此,如果能对必要的内容进行基本分解,我们将不胜感激。

最佳答案

试试看

$("#placeslistcontainer ul").listview();

listview("refresh"); 似乎在您更新现有 ListView 时起作用。

关于javascript - JQuery Mobile 没有方法 'listview()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375259/

相关文章:

javascript - Google map 错误 - 纬度/经度无效?

iphone - phonegap、iphone 和最大的坏处idleTimerDisabled

cordova - Windows 8 命令上的错误(ionic run android)失败,退出代码为 ENOENT

javascript - 为什么获取ID时数据方法不能正常工作?

javascript - 如何在另一个div为空时隐藏一个div

javascript - Firefox 的 monitorEvents() 等价物是什么?

css - jQuery Mobile 双滚动条 CSS

html - 删除 jquery 移动 ListView 的默认图标

javascript - 使用 jQuery、ajax 和 php 创建动态内容。但是我的导航栏不起作用

java - Cordova 正在运行错误的 Java 版本。如何让 Cordova 运行特定的 Java 版本?