0

我正在尝试使用来自 accessdb 的 JSON 提要使用 Jquery 填充 Drop Down Select 元素(一个很棒的 Javascript 库,用于将访问 .mdb 文件作为本地数据库访问)。

我的 HTML:

<select id="instructors"></select>

我的Javascript:

$(document).ready(function(){



     var myDB = new ACCESSdb("accessdb.mdb", {showErrors:true});

     var instructorquery = "SELECT * FROM Instructors";

     var instructorJson = myDB.query(instructorquery, {json:true});
     $.each(instructorJson, function(key, value) {   
                    $('#instructors').append($("<option></option>").attr("value", key).text(value));  
    });


});

alert(instructorJson) 的输出是:

[{"ID":"1","Name":"Capt Hogg","Date last completed":"8/4/2013"},{"ID":"2","Name":"Capt Baker","Date last completed":"8/4/2013"}]

所以提要正在工作。IE7 抛出“预期对象”错误。

我承认自己是一个学习者,如果我的错误很明显,请原谅我。

编辑 Palash 下面的答案适用于现代浏览器。我找到了 IE7 的解决方案(见下文)。

4

2 回答 2

1

尝试这个:

$.each(instructorJson, function (key, value) {
    $('#instructors').append($("<option></option>").attr("value", value.ID).text(value.Name));
});

在这里演示

于 2013-04-12T19:47:39.517 回答
0

我通过添加 JSON.parse 并在此处使用 Douglas Crockfords Json2 库使其工作:(这是一个 IE7 修复程序,Palashs 的答案适用于体面的浏览器)。

$(document).ready(function(){



 var myDB = new ACCESSdb("accessdb.mdb", {showErrors:true});

 var instructorquery = "SELECT * FROM Instructors";

 var instructor = myDB.query(instructorquery, {json:true});
var instructorJson = JSON.parse(instructor);
 $.each(instructorJson, function (key, value) {
$('#instructors').append($("<option></option>").attr("value", value.ID).text(value.Name));
});
    });

感谢您对帕拉什的支持

我讨厌 IE ;(

于 2013-04-16T20:31:09.777 回答