我正试图用存储在txt文件中的JSON数据创建一个下拉列表。我的主要问题是读取数据(我将从API检索到的数据保存到txt文件中,因为这是大量的数据,我想节省时间,不必每次需要数据时都向API发出请求)
*附带说明一下,不完全确定以JSON形式获取数据是否是最佳选择。此API支持的其他选项包括:CSV、JSONP、序列化PHP和XML(如果其中一个更容易的话)
以下是JSON数据的形式(以字符串形式存储在classes.txt中):
{
"classes": [
{
"cat_num": "0001",
"field": "OEB",
"number": "363",
"title": "Plant Diversity and Evolution"
},
{
"cat_num": "0002",
"term": "FALL",
"bracketed": false,
"field": "OEB",
"number": "364",
"title": "Ecological Physiology of Microbes"
}
]
}
这是我的代码,试图用这个txt文件填充下拉菜单到目前为止
$(document).ready(function(){
var url = "classes.txt";
$.get(url, function(data) {
var obj = eval('(' + data + ')');
$.each(obj, function(i, option){
$('#department').append($('<option/>')
.attr("value",option.cat_num)
.text(option.field));
);
);
});
我还意识到,我需要以某种方式确保"字段"在我的下拉列表中是唯一的(即,如果有3个类属于"OEB"字段,我只希望OEB出现在下拉列表中一次,而不是3次)
提前感谢您可能提供的任何帮助!
这里这可以帮助
$(document).ready(function(){
$.getJSON('classes.txt', function(data) {
$.each(data, function(i, option){
console.log(option.title)
$('#department').append($('<option/>').attr("value",option.cat_num).text(option.title));
});
});
});