文件加载时jquery加载json

时间:2013-04-23 15:14:28

标签: javascript jquery json

我很困惑为什么我这个简单的代码是错误的。

我只想在加载文档时列出select中的json数据。 这是我的jquery代码:

<script>
$(document).ready(function(){
        $("#choose").load(function(event){
            $.getJSON('data/colors.json', function(jd) {
                $('#choose').html('<option value="' + jd.name'">' + jd.name + '</option>');
                $('#choose').append('<option value="' + jd.name'">' + jd.name + '</option>');
            });
        });
   });
</script>

这是我的HTML:

<select id="choose" style="width:200px">

   </select>

最后这是我的json文件:

[
{
"name": "Yoza",
"age" : "22",
"sex": "male"
},
{
"name": "nayla",
"age" : "18",
"sex": "female"
}
]

如何加载每个json。所以我可以加载更多的数据。

3 个答案:

答案 0 :(得分:2)

尝试

$(function(){

    $.getJSON('data.json', function(jd) {
        $.each(jd, function(i, v){
            $('#choose').append('<option value="' + v.name + '">' + v.name + '</option>');
        })
    })

});

演示:Fiddle

答案 1 :(得分:0)

试试这个

      var data = [];

    $.getJSON( 'data/colors.json', function( jd ) {

          $.each( jd, function( k,v ){

              data.push('<option value="' + v.name'">' + v.name + '</option>');

             });
            $('#choose').append( data.join('') );
        });

答案 2 :(得分:0)

为什么要等$('#choose')加载? <{1}}准备好后,您的功能就会执行,因此document也准备好了。