【发布时间】:2009-11-30 19:55:58
【问题描述】:
我通过 Luca Matteis 获取了一些代码来使用 jQuery 进行分页 Paging Through Records Using jQuery
我对分页脚本进行了一些编辑,以便我可以使用相同的代码在同一站点的不同位置提供不同内容的分页。
在大多数情况下,我认为它有效,除了我在 firebug 中得到一个 jsonObj is undefined 错误。 当我使用 alert(jsonObj.toSource()) 时,我会看到我试图填充的变量,但同时,脚本由于错误而死。 我无法弄清楚为什么我会遇到这种“未定义”的冲突,但我可以轻松地将“未定义”值放入警报中。我什至可以说 alert(jsonObj.name),它会给我那个值,但仍然会启动 jsonObj is undefined 错误。
这是我正在使用的代码
var pagedContent = {
data: null
,holder: null
,currentIndex : 0
,init: function(data, holder) {
this.data = data;
this.holder=holder;
this.show(0); // show last
}
,show: function(index) {
var jsonObj = this.data[index];
if(!jsonObj) {
return;
}
var holdSubset='';
for(i=0;i<=4; i++){
jsonObj=this.data[index+i];
this.currentIndex = index;
if(this.holder=='div#firstList'){
var returnedId = jsonObj.id;
var returnedName = jsonObj.name;
var calcScore=this.data[index+i].score/this.data[0].score*100;
var resultInput="<div ' id='"+returnedId+"'><div class='name'>"+returnedName+"</div><div class='score'><div style='width:"+calcScore+"%;'></div></div>";
}
if(this.holder=='div#secondList'){
var name=jsonObj.name;
var city=jsonObj.city;
var region=jsonObj.state;
var resultInput='<li><div>'+name+'</div<div>'+city+'</div><div>'+region+'</div></li>';
}
holdSubset= holdSubset+resultInput;
}
jQuery(this.holder).html('<br/>'+holdSubset);
if(index!=0){
var previous = jQuery("<a>").attr("href","#").click(this.previousHandler).text("< previous");
jQuery(this.holder).append(previous);
}
if(index+i<this.data.length){
var next = jQuery("<a style='float:right;'>").attr("href","#").click(this.nextHandler).text("next >");
jQuery(this.holder).append(next);
}
}
,nextHandler: function() {
pagedContent.show(pagedContent.currentIndex + 5);
return false;
}
,previousHandler: function() {
pagedContent.show(pagedContent.currentIndex - 5);
return false
}
};
我这样调用函数
pagedContent.init(json.users.locations, 'div#secondList');
json 看起来像这样
{"locations" : [ {"id":"21319","name":"Naugatuck American Legion","city":"Ansonia","region":"Connecticut"},{"id":"26614","name":"Studio B789","city":"Acton","region":"Maine"},{"id":"26674","name":"Deering Grange Hall","city":"Bailey Island","region":"Maine"},{"id":"27554","name":"Accu Billiards","city":"Acushnet","region":"Massachusetts"}]}
【问题讨论】:
-
看起来不错...有网址吗?
-
我还没有网址,只是在本地运行。数据库和一切都是本地的。我暂时没有位置可以放置它。
标签: javascript jquery json