我想浏览一个JSON文件。为了能够这样做,我创建了导航链接,用于更改变量i
的值。我缺少的是如何在上面的代码中应用变量。
$(document).ready(function(){
var i = 0;
var len = 10;
$.getJSON(file, function(data) {
$.each(data, function (id, dat) {
$('div').append('<p>'+ id +'<span id="nav'+ id +'">');
for(var j = 0; j < Object.keys(dat).length; j += len){
$('#nav'+ id).append('<a>'+ j +'</a> ');
}
$('div').append('</span></p>');
$.each(dat, function (k, d) {
if((k >= i) && (k < i + len)) $('div').append('<span>'+d.detail)+'</span>'; //change i
});
});
});
$('div').on('click', '[id^=nav] a', function(){
i = $(this).text();
});
});
更新:这是JSON文件
{"5498":[{"detail":"ny"},{"detail":"qwe"},{"detail":"ghg"},{"detail":"werwe"},{"detail":"bgg"},{"detail":"qwe"},{"detail":"hgh"},{"detail":"qewq"},{"detail":"ggf"},{"detail":"vc"},{"detail":"htr"},{"detail":"htr"},{"detail":"jtyj"},{"detail":"eqw"},{"detail":"gfg"}],"46546":[{"detail":"greger"},{"detail":"jytjyt"},{"detail":"werwer"},{"detail":"jjyt"},{"detail":"greger"},{"detail":"hjtyjty"},{"detail":"fds"},{"detail":"thtr"},{"detail":"qwe"},{"detail":"htrh"},{"detail":"jyjjy"},{"detail":"ewrwe"}]}
脚本产生这样的输出
54980 10
nyqweghgwerwebggqwehghqewqggfvc
465460 10
gregerjytjytwerwerjjytgregerhjtyjtyfdsthtrqwehtrh
当我点击某些链接时,我想改变它。 G。当&#34; 10&#34;单击,输出将如下所示。如果我点击&#34; 0&#34;,它将再次如上所示。
54980 *10*
htrhtrjtyjeqwgfg
465460 10
gregerjytjytwerwerjjytgregerhjtyjtyfdsthtrqwehtrh
答案 0 :(得分:0)
最佳解决方案似乎是在解析期间创建一个对象/数组,然后修改内容
$('div').on('click', '[id^=nav] a', function(){
i = $(this).text()*1;
for(var j = i; j < i + len; j ++) if(!(obj[id][j] === undefined || obj[id][j] === null)) $('#nav'+id).after('<span>'+obj[id][j].detail)+'</span>');
});