我正在尝试使用存储在 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));
});
});
});
关于javascript - 使用存储在 txt 文件中的 JSON 输入创建下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760308/