Sqlite 如何使用数据库和phonegap向jquery mobile中的选择菜单添加选项

Sqlite 如何使用数据库和phonegap向jquery mobile中的选择菜单添加选项,sqlite,cordova,jquery-mobile,Sqlite,Cordova,Jquery Mobile,我正在尝试向jqueryMobile中的selectmenu添加选项。我从sqlite数据库中读取要添加的值。从数据库读取数据时,控制台日志输出告诉我它找到了16行,并且保存新选项的变量也被正确填充。但是,如果我想将选项添加到selectmenu,我会得到一个错误:初始化之前无法调用selectmenu上的方法:尝试调用方法“刷新”。我尝试在刷新之前运行selectmenu方法,但也不起作用。这是我的密码: HTML: Javascript: // Read all subjects

我正在尝试向jqueryMobile中的selectmenu添加选项。我从sqlite数据库中读取要添加的值。从数据库读取数据时,控制台日志输出告诉我它找到了16行,并且保存新选项的变量也被正确填充。但是,如果我想将选项添加到selectmenu,我会得到一个错误:初始化之前无法调用selectmenu上的方法:尝试调用方法“刷新”。我尝试在刷新之前运行selectmenu方法,但也不起作用。这是我的密码:

HTML:

Javascript:

    //  Read all subjects from the database
    fillSubjectsDropdown: function(){
        sz.db.container.transaction(function(tx){
            tx.executeSql("SELECT * FROM SUBJECTS ORDER BY sj_name", [], sz.db.selectSubjectsSuccess, sz.db.errorCB);
        }, sz.db.errorCB, sz.db.successCB);
    },

//  Read subjects Callback
    selectSubjectsSuccess: function(tx, results){
        var len = results.rows.length;
        console.log('### szlog: Subjects found: ' + len);
        var subjects = '<option value="">' + sz.langdata['subject'] + '</option>';
        for (var i = 0; i < len; i++){
            subjects += '<option value="' + results.rows.item(i).sj_id + '">' + results.rows.item(i).sj_name + '</option>';
        }
        $(".subjectDropdown").html(subjects).selectmenu('refresh', true);
    },
我搜索并找到了一些文章,但没有一篇能真正帮助我。任何帮助都将不胜感激

我使用jquerymobile1.2.0、jquery1.8.3和phonegap2.3.0


如果出现此错误,请感谢:

初始化之前无法调用selectmenu上的方法:已尝试 调用方法“刷新”

无论是按钮、选择框还是列表视图,在使用刷新功能进行merkup增强之前,都必须初始化该元素

按如下方式更改代码:

$(".subjectDropdown").html(subjects).selectmenu().selectmenu('refresh', true);

首先。选择菜单将初始化它,然后。选择菜单“刷新”,为true;将对其进行样式设置。

如果出现此错误:

初始化之前无法调用selectmenu上的方法:已尝试 调用方法“刷新”

无论是按钮、选择框还是列表视图,在使用刷新功能进行merkup增强之前,都必须初始化该元素

按如下方式更改代码:

$(".subjectDropdown").html(subjects).selectmenu().selectmenu('refresh', true);

首先。选择菜单将初始化它,然后。选择菜单“刷新”,为true;威尔风格。

我觉得有点奇怪,你不能像我以前试过的那样把它分成两行,但无论如何。。。这很有效,谢谢你的帮助!我觉得有点奇怪,你不能像我以前试过的那样把它分成两行,但无论如何。。。这很有效,谢谢你的帮助!