我使用JSON从数组中提取信息,但我的循环似乎不起作用,因为它只提取第一个条目并且不会全部显示它们。
function(f) {
$('#navigation').text(f.alsotaking[0][1]);
for(var i = 0; i < f.alsotaking; i++) {
$('#navigation').text(f.alsotaking[i]);
}
}
我做错了什么?
答案 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);
});
}
你可以做这样的事情