对不起,标题的措词不太好。我正在使用类别选择,以便从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>
答案 0 :(得分:1)
如果将getJSON返回的json存储在回调之外的某个位置,则您的Submit按钮将触发如下所示的内容:
function getCategoryId(){
const categoryChooser = document.getElementById('category-chooser');
const categorySelected = categoryChooser.value;
json.forEach(entry => {
if(entry.title === categorySelected){
return entry["_id"];
}
});
}