如何从已经存在参数的GET数组中查找数据

时间:2019-01-05 20:05:23

标签: javascript jquery arrays json api

对不起,标题的措词不太好。我正在使用类别选择,以便从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>

1 个答案:

答案 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"];
        }
    });
}