使用json文件中的javascript添加选择字段的选项

时间:2013-11-27 04:15:38

标签: javascript jquery json

      var json = $.getJSON("../category.json", function() {
            alert(2);
        })
         .done(function() {
            console.log( "second success" );    
            var var1 = document.getElementsByClassName('category');
            var1.innerHTML = "<option value='" + key + "'>" + val + "</option>";
            alert(var1);
         })
        .fail(function() {
          alert( "error" );
          });

我想将json文件中的值作为选择字段的选项。但我的代码总是显示警报错误。请告诉我它有什么问题?

3 个答案:

答案 0 :(得分:0)

您没有设置keyvalue参数。实际上,看起来你根本就没有获得JSON结果。

将完成的方法更改为

.done(function( data ) { /* do stuff */ }

现在您的JSON结果将存储在数据中。 然后,您可能需要遍历结果。请参阅示例 here

答案 1 :(得分:0)

试试这个

var json = $.getJSON("../category.json", function(data) {
    alert(2);
})
.done(function(data) {
    console.log( "second success" );    
    var var1 = document.getElementsByClassName('category');
       $.each( data, function( key, val ) {
         var1.innerHTML += "<option value='" + key + "'>" + val + "</option>";
         alert(var1);
     });
       alert(var1);
    })
.fail(function() {
    alert( "error" );
});

答案 2 :(得分:0)

您的JSON无效:您不能将数字用作JSON密钥

[
    {
        "NAME":"chair",
        "0":"chair"                     <-- error
    },
    {
        "NAME":"bed",
        "0":"bed"                       <-- error
    },
    {
        "NAME":"table",
        "0":"tabl‌​e"                     <-- error
    },
    {
        "NAME":"almira",
        "0":"almira"                    <-- error
    }
]

尝试通过在线JSON解析器运行JSON,然后会出现错误。 或者,更改错误处理程序以包含更多信息

.fail(function (jqXhr, status, error) { 
    alert(status + ':' + error + ':' + jqXhr.responseText) }
});