抱歉,标题措辞不太好。我正在使用类别选择从 API 中选择类别。我目前获取类别列表,过滤它们的名称,并将它们显示在类别选择器中。当用户单击提交时,我希望通过 API 进行解析并找到与该类别名称关联的 ID。以下是 API 的示例输出:
{
"_id": "5c2fde414502d923ceafaa30",
"title": "Category 2",
"description": "My second category, testing 123",
"createdAt": "2019-01-04T22:29:21.047Z",
"updatedAt": "2019-01-04T22:29:21.047Z",
"__v": 0
},
这是我用于类别选择器的代码:
JS:
$.getJSON("http://localhost:2672/categories", function (json) {
$('#category-chooser').empty();
$('#category-chooser').append($('<option>').text("Choose a Category"));
$.each(json, function (i, obj) {
$('#category-chooser').append($('<option>').text(obj.title));
});
});
HTML
<select id="category-chooser" class="form-control" name="category">
<option selected="selected">blank</option>
</select>
最佳答案
如果您将从 getJSON 返回的 json 存储在回调之外的某处,您的提交按钮将触发如下所示:
function getCategoryId(){
const categoryChooser = document.getElementById('category-chooser');
const categorySelected = categoryChooser.value;
json.forEach(entry => {
if(entry.title === categorySelected){
return entry["_id"];
}
});
}
关于javascript - 如何从参数已存在的 GET 数组中查找数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055793/