javascript - 如何获取对象值和 id 作为选择框的选项使用 javascript 或 jquery

标签 javascript jquery

我有一个这样的对象:

var quantites = {
   4: {
        93: {
            "id": "355",
            "qty": 8
        }
    },
   5: {
        93: {
            "id": "356",
            "qty": 10
       }
    },
 };

如何在不使用/不知道要循环的键的情况下获取 id 作为值和 qty 作为选择中的标签:

<option value="335">8</option>
<option value="336">10</option>

到一个div:

<div id="qty">
    <select></select>
</div>

到目前为止我尝试过的是:

            $.each(quantites, function(key, value) {
            $('#qty')
                .append($("<option></option>")
                .attr("value",key)
                .text(value)); 
            });
        });

最佳答案

您可以先将数据转换为对象数组,然后使用 forEach 循环添加到 select

var quantites = {"4":{"93":{"id":"355","qty":8}},"5":{"93":{"id":"356","qty":10}}}

var select = $('#qty select')
var data = [].concat(...Object.values(quantites).map(Object.values))
data.forEach(function(e) {
  select.append(`<option value="${e.id}">${e.qty}</option>`)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="qty">
    <select></select>
</div>

关于javascript - 如何获取对象值和 id 作为选择框的选项使用 javascript 或 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46743452/

相关文章:

javascript - 当按下向上箭头键时,将文本光标发送到文本框焦点的末尾

javascript - 实时更新标记,无需加载网页,从文本文件加载更新的坐标 Google map Api

javascript - 表单验证 - 接受某种格式的值

javascript - 如何在相扑选择下拉列表中显示ajax响应?

javascript - 有没有和animationEnd功能一样的无限CSS动画的东西?

javascript - MomentJS : Issue subtracting minutes

javascript - 如何在每次动画迭代计数后更改元素的大小?

javascript - Ajax 在执行下一个函数之前等待 Api 完成

javascript - 如何制作具有缩放所选图像和其他分散效果的图库

javascript - Jankiness 与 Chrome 移动自动隐藏工具栏和全高 div