JQuery Mobile选择框不显示所选选项

时间:2016-04-12 18:16:22

标签: jquery select jquery-mobile

我希望有人可以帮助我找到答案并尝试了很多选项......我有一个HTML5数据库和更新的表格,然后清空选择框,创建新的选择选项。问题是未显示所选选项。以下是实际查询移动代码。感谢

function updateCList() {
    db.transaction(function (tx) {
        tx.executeSql('SELECT * FROM CourseTable', [], function (tx, results) {
            var len = results.rows.length, i;
            $('#coursemenu').empty();
            SelectOption(document.courseData_form.coursemenu, "Course Type", "Course Type")
            for (i = 0; i < len; i++){
                SelectOption(document.courseData_form.coursemenu, results.rows.item(i).c_type, results.rows.item(i).c_type);
            }
        }, null);
        $('#coursemenu').selectmenu('refresh', true);           
    });
}

2 个答案:

答案 0 :(得分:0)

executeSql()是一个异步函数,因此当您调用selectmenu('refresh', true)来更新元素时​​,尚未添加选项。要避免这种情况,请将update命令移动到executeSql()函数的内部,如下所示:

tx.executeSql('SELECT * FROM CourseTable', [], function (tx, results) {
    var len = results.rows.length, i;
    $('#coursemenu').empty();
    SelectOption(document.courseData_form.coursemenu, "Course Type", "Course Type")
    for (i = 0; i < len; i++){
        SelectOption(document.courseData_form.coursemenu, results.rows.item(i).c_type, results.rows.item(i).c_type);
    }
    $('#coursemenu').selectmenu('refresh', true);   
}, null);

详细了解docs中的函数和语法。

答案 1 :(得分:0)

这是我的解决方法。当我使用空命令时,默认链接被破坏,此代码删除了除第一个选项之外的所有选项。

            function emptyCList() {
                var select = document.getElementById("coursemenu");
                var len = select.options.length;
                for (i = len; i > 0; i--) {
                    select.options[i] = null;
                };
            };