从json创建下拉列表

时间:2013-07-15 05:03:31

标签: javascript json drop-down-menu

我有一个这种形式的json:

{"COLUMNS":["ID", "Name"],"DATA":
[ 
  ["1","Joe"],
  ["2", "Sam"],
  ["3", "Doug"],
]
}

我正在寻找一个如何在javascript中从这些数据创建下拉列表的示例,但json / dropdown列表的所有示例json都采用不同的格式。我没有使用javascript或json数据,所以我不知道从哪里开始。任何人都可以指向一个伟大的教程或示例的方向?谢谢。

2 个答案:

答案 0 :(得分:2)

JavaScript:

window.onload = function () {
    var JSON = {
        "COLUMNS":["ID", "Name"],
        "DATA": [ 
            ["1","Joe"],
            ["2", "Sam"],
            ["3", "Doug"]
        ]
    }, select = document.getElementById("selector");
    for (var i = 0, at = JSON.DATA[i], id = at[0], name = at[1]; i < JSON.DATA.length; i++) {
        var option = document.createElement("option");
        option.value = id;
        option.textContent = name;
        select.appendChild(option);
    };
};

请确保如果您的JSON是字符串形式,则首先使用JSON.parse();解析它

HTML:

<select id="selector"></select>

JSFiddle示例:http://jsfiddle.net/su7sr/1

答案 1 :(得分:0)

我认为正确的JS将是:

window.onload = function () {
    var JSON = {
        "COLUMNS":["ID", "Name"],
        "DATA": [ 
            ["1","Joe"],
            ["2", "Sam"],
            ["3", "Doug"]
        ]
    }, select = document.getElementById("selector");
    for (var i = 0; i < JSON.DATA.length; i++) {
    var at = JSON.DATA[i], id = at[0], name = at[1];
        var option = document.createElement("option");
        option.value = id;
        option.textContent = name;
        select.appendChild(option);
    };
};