我正在尝试使用来自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"}]
所以Feed正在运行。 IE7抛出了'对象预期'的错误。
如果我的错误很明显,我承认自己是学习者,请原谅我。
EDIT Palash的答案适用于现代浏览器。我找到了IE7的解决方案(见下文)。
答案 0 :(得分:1)
试试这个:
$.each(instructorJson, function (key, value) {
$('#instructors').append($("<option></option>").attr("value", value.ID).text(value.Name));
});
答案 1 :(得分:0)
我通过添加JSON.parse并使用Douglas Crockfords Json2 Library here来实现它: (这是一个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));
});
});
感谢您的支持Palash
我讨厌IE;(