Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery移动选择框未显示所选选项_Jquery_Select_Jquery Mobile - Fatal编程技术网

JQuery移动选择框未显示所选选项

JQuery移动选择框未显示所选选项,jquery,select,jquery-mobile,Jquery,Select,Jquery Mobile,我希望有人能帮助我,我已经找到了答案,并尝试了许多选择…。。我有一个HTML5数据库和更新的表,然后清空选择框,创建新的选择选项。问题是未显示所选选项。下面是实际查询手机代码。谢谢 function updateCList() { db.transaction(function (tx) { tx.executeSql('SELECT * FROM CourseTable', [], function (tx, results) { var len

我希望有人能帮助我,我已经找到了答案,并尝试了许多选择…。。我有一个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);           
    });
}
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);

阅读中有关函数和语法的更多信息。

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

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

您可能应该向我们显示SelectOptions的代码SelectOptions是代码中的第6行和第8行。列表创建正确。默认情况下,所选项目不会首先显示。@ezanker-这是html课程名称:课程类型,但SelectOption函数的具体功能是什么?我假设它创建并添加了select选项,但向我们展示了代码。这里有一个伪造db调用并填写select的小提琴,只需单击select下面的按钮:您可以编辑它来重现您的问题吗?这也不起作用…。。谢谢你的回复。请看