Jquery 如何对多个元素重用此代码?
我有一个分页数据的函数。我在同一页上有两个表需要分页。如果可能的话,我想对这两个表重用这个函数。我尝试对这两个表都使用脚本,但是当我第二次调用脚本时,第一次调用的数据似乎被删除了,第二次调用占了上风 为什么会这样Jquery 如何对多个元素重用此代码?,jquery,Jquery,我有一个分页数据的函数。我在同一页上有两个表需要分页。如果可能的话,我想对这两个表重用这个函数。我尝试对这两个表都使用脚本,但是当我第二次调用脚本时,第一次调用的数据似乎被删除了,第二次调用占了上风 为什么会这样 $.fn.scroller = function(options) { var settings = { ele : '', limit : 10, offset: 0, error : 'No More Posts!',
$.fn.scroller = function(options) {
var settings = {
ele : '',
limit : 10,
offset: 0,
error : 'No More Posts!',
delay : 500,
scroll: true
}
if(options) {
$.extend(settings, options);
}
return this.each(function() {
$this = $(this);
$settings = settings;
var offset = $settings.offset;
if($settings.scroll == true) $initmessage = 'Scroll for more or click here';
else $initmessage = 'Click for more';
$this.append('<tbody id="adi"></tbody><tfoot><tr><td id="more" colspan="2">'+$initmessage+'</tr></tr></tfoot>');
function getData() {
$.post('test.asp',{
ele:$settings.ele,
limit:$settings.limit,
offset:offset,
},
function(data){
$this.find('#more').html($initmessage);
if(data == ""){
$this.find('#more').html($settings.error);
}else{
offset = offset + $settings.limit;
$this.find('#adi').append(data);
}
});
}
getData();
if($settings.scroll == true){
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() > $this.height()){
$this.find('#more').html('Loading Posts');
setTimeout(function() {
getData();
}, $settings.delay);
}
});
}
});
}
编辑:
这是实际的HTML
<table id="test1">
<tbody>
</tbody>
</table>
以及:
可以发布一个表HTML的例子吗?我知道它不回答你的问题,但是你可以考虑签出,这是一个非常酷的表格式化程序。关于你的问题,你说“第二桌占上风”是什么意思?谢谢,查尔斯。我过去使用过数据表,非常喜欢它。我想我需要的东西有点太多了。我在上面所说的基本上是,我发送到滚动条
函数的第一个调用(#test1)数据被清除,或者被test2
覆盖。因此,只有test2表填充了数据。如果我一字不差地复制JQuery代码,并在刚刚创建的第二个文件中重命名该函数,我就可以用数据填充这两个表。我只是不喜欢那样做。必须有更好的方法,因此,在上述情况下,#test1
从未填充,但#test2
填充?不,查尔斯,我还没有确认。我真的是JQuery的高手。如果你告诉我要找什么,我就去看看。另外,为了澄清,如果我注释掉插件的第二个调用(test2),test1将填充。真奇怪。
<table id="test1">
<tbody>
</tbody>
</table>
<table id="test2">
<tbody>
</tbody>
</table>