jquery每个函数只写一条记录
我有以下代码jquery每个函数只写一条记录,jquery,each,Jquery,Each,我有以下代码 $.getJSON('/update-recent-stat', function(jsonData) { var counterjson = 0; $.each(jsonData, function(i, value){ var i = counterjson++; var link = jsonData[i].linkid; var time = jsonData[i].time; var value
$.getJSON('/update-recent-stat', function(jsonData)
{
var counterjson = 0;
$.each(jsonData, function(i, value){
var i = counterjson++;
var link = jsonData[i].linkid;
var time = jsonData[i].time;
var value = jsonData[i].tagvalue;
var type = jsonData[i].type;
var sender = jsonData[i].sender;
$("#DownBoxL ul li:eq("+ i +")").html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> <?php echo $lang['sending'] ?> "+type+"!</div><div class=TagValue>+"+value+"</div>");
});
})
$.getJSON('/update recent stat',函数(jsonData)
{
var=0;
$.each(jsonData,函数(i,值){
var i=counterjson++;
var link=jsonData[i].linkid;
var-time=jsonData[i]。时间;
var value=jsonData[i].tagvalue;
var type=jsonData[i]。类型;
var sender=jsonData[i]。sender;
$(“#DownBoxL ul li:eq(“+i+”)).html(“+time+”+type+”!+“+value+”);
});
})
还有一个依赖文件(更新程序),用于查询数据并返回JSON文件。
现在的问题是,这段代码每次少写一条记录!有人看到我的问题了吗?解决方案:
只需删除此行:
var i = counterjson++;
您正在将i
重新分配给一个新变量。请尝试另一个变量:
$.each(jsonData, function(i, value){
var j = counterjson++;
每次执行该代码块时,都会增加
i
变量。我认为这就是原因。您应该有效地使用参数,并执行以下操作:
$.each(jsonData, function(i, value){
var link = value.linkid;
var time = value.time;
var value = value.tagvalue; //<-- Shouldn't mask variables
var type = value.type;
var sender = value.sender;
$("#DownBoxL ul li:eq("+ i +")").html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> <?php echo $lang['sending'] ?> "+type+"!</div><div class=TagValue>+"+value+"</div>");
});
$。每个(jsonData,函数(i,值){
var link=value.linkid;
var-time=value.time;
var-value=value.tagvalue;//为什么要重新定义i
?我想var-i=counterjson++;
与此有关。它似乎没有真正的用途。它有什么作用?如果无法解释,请将其删除。为什么不使用value
参数?您没有以提供这有什么好处。他并不是真的创建一个新的i
,只是用counterjson++
覆盖值。你能试试console.log(jsonData);
?你的建议很好,但它并不能解决我的问题。thx。它不能。它应该在功能上等同于你所拥有的,只需要更少的代码和更少的定制(即,更可能是四轮马车)instructions@onbids:然后请更好地解释您的问题,提供一些输入和输出示例,最好是演示。您提供的信息越多,我们就越容易帮助您,您将得到更好的答案。
$.each(jsonData, function(i, value){
$("#DownBoxL ul li:eq("+ i +")").html("<div class=Timestamp>"+value.time+"</div><div class=UserName><a href=\"#"+value.link+"\">"+value.sender+"</a> <?php echo $lang['sending'] ?> "+value.type+"!</div><div class=TagValue>+"+value.tagValue+"</div>");
});