用jQuery IE7下载的JSON提要

时间:2013-04-12 19:44:25

标签: jquery json select

我正在尝试使用来自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的解决方案(见下文)。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

DEMO HERE

答案 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;(