JSON Jquery For Loop

时间:2014-02-25 12:38:57

标签: jquery json

我使用JSON从数组中提取信息,但我的循环似乎不起作用,因为它只提取第一个条目并且不会全部显示它们。

function(f) {
    $('#navigation').text(f.alsotaking[0][1]);
    for(var i = 0; i < f.alsotaking; i++) {
        $('#navigation').text(f.alsotaking[i]);
    }
}

我做错了什么?

3 个答案:

答案 0 :(得分:0)

假设你有这个HTML

<ul id="navigation"></ul>

你的JS应该看起来像::

var Obj = {
  "alsotaking":[
    ["bla","Software Engineering",1],
    ["bla","Mobile Applications",11],
    ["bla","Practical Networks",71],
    ["bla","Digital Forensics",53]
  ]
};

function readObjArray(ob){
  var contents = "";                         // Prepare string
  for(var i=0; i<ob.length; i++){
    contents += "<li>"+ ob[i][1]+'</li>'; // Fill-in string with HTML
  }
  $('#navigation').html( contents );         // Add html to element
}

readObjArray( Obj.alsotaking );                         // Send Obj to your function

或者喜欢:

function navFromObject( obj ) {
  var HTMLstr = ""; 
  $.each(obj, function(k,v){
      HTMLstr += "<li>"+v[1]+"</li>"; 
  });
  $('#navigation').html( HTMLstr );
}

navFromObject( Obj.alsotaking );

答案 1 :(得分:0)

尝试

var text='';
for(var i=0; i<f.alsotaking.length;i++){
    text+= ' ' + f.alsotaking[i][1];
}
$('#navigation').text(f.alsotaking[i][1]);

注意for循环中的“length”

答案 2 :(得分:0)

function(f){
    $('#navigation').text(f.alsotaking[0][1]);
    $.each( f.alsotaking, function( key, value ) {
      $('#navigation').text(value);
    });
}

你可以做这样的事情