如何将下拉选项值附加为数组

时间:2018-07-27 05:23:22

标签: javascript jquery

我的json看起来像这样。我需要在下拉选项中添加名称作为键和数据作为值。

   {
    "id" : 1,
    "name" : "name1",
    "Year" : 2018,
    "data" : [ 
        {
            "day" : 1.0,
            "count" : 34.0,
            "month" : "May",
            "price" : 1.0,
            "amount" : 51.0
        }, 
        {
            "day" : 2.0,
            "count" : 34.0,
            "month" : "May ",
            "price_typ" : 1.0,
            "amount" : 51.5
        }, 
        {
            "day" : 3.0,
            "count" : 34.0,
            "month" : "May",
            "price_typ" : 1.0,
            "amount" : 50.0
        }, 
        {
            "day" : 4.0,
            "count" : 34.0,
            "month" : "May",
            "price_typ" : 1.0,
            "amount" : 51.0
        }, 
        {
            "day" : 5.0,
            "count" : 34.0,
            "month" : "May",
            "price_typ" : 1.0,
            "amount" : 51.0
        }
    ]
}

在我的代码中,我将名称附加为键,将数据附加为选项值,但正在获取[object,object]而不是数组值。

for(var j=0;j<result.length;j++){
$("#custom-dropdown").append(
"<option value="+result[j].data+">"
+ result[j].name
+ "</option>");  
}

1 个答案:

答案 0 :(得分:4)

您无法执行"<option value="+result[j].data+">",因为您要告诉JS将unbox result [j] .data作为字符串,并且由于这是一个对象,JS会告诉您它是[object, object]

简单测试:

var a = {}; 
a.toString() // returns "[object Object]"

您需要data中的哪个零件/属性值作为值?