如何遍历对象内的数组并将ID输出至下拉选择框?
解决遍历对象数组并将ID填充到下拉框的问题
没问题,我来帮你搞定这个需求~你的代码里有两个关键问题,我先帮你修正,再解释原因:
错误分析
你原来的代码是直接遍历things这个对象,但实际上我们需要遍历的是things.list这个数组;另外,things.list.id这种写法不对,因为list是数组,要访问每个数组元素里的id属性才行。
正确代码示例
const things = { "list": [ { "id": "123456", "name": "Jack Smith" }, { "id": "789101", "name": "Ellie Cocks" }, { "id": "535253", "name": "Peter Johns" }, { "id": "9353638", "name": "Anna Jacobs" } ] }; // 遍历list数组,而不是things对象 $.each(things.list, function(index, item) { // 给每个item创建option,把id作为显示文本和value(推荐设置value,方便后续获取选中值) $('#dropdown').append($("<option />").val(item.id).text(item.id)); });
代码说明
$.each(things.list, ...):这里直接遍历things里的list数组,数组里的每个元素就是包含id和name的对象。function(index, item):回调函数的第二个参数item就是当前遍历到的数组元素,直接通过item.id就能拿到对应的ID。.val(item.id).text(item.id):既把option的value设为ID(后续获取选中值时更方便),也把显示文本设为ID,完全符合你“仅将其中的ID输出到下拉选择框”的需求。
内容的提问来源于stack exchange,提问作者user5431121
相关产品推荐
相关产品推荐

