我有一个db表中最近17个条目的列表,并希望使用jquery / ajax有一个下一个按钮,当你点击它时加载下17个条目。 它将17变量传递给.load,第一次工作正常(后来用作mysql限制),但后来我尝试用17增加start变量,这样下次点击它就会将34传递给.load (所以它再次加载17)但这不起作用,它只是在第二,第三等处再次加载相同的17。点击(所以没有任何变化)。阅读其他问题这应该是使用全局变量的正确方法,方法是使用var设置它并在函数内部使用var而不使用它。
<script>
var start = 17;
var loadUrl = '<?php echo site_url('welcome/battles'); ?>';
$("#latestbattlesnext").click(function () {
$('#left').load(loadUrl + "/" + start);
start = start + 17;
});
</script>
答案 0 :(得分:0)
您的网站是否正在刷新任何这些负载?只要加载的页面被刷新(显然),<script>
标签中的任何内容都将被刷新。
就我所知,这是正确的做法。
也许仔细检查这一行:
$('#left').load(loadUrl + "/" + start);
确保它没有重新加载页面上的任何<script>
。
答案 1 :(得分:0)
语法是对的,你不是在.load函数中设置start var吗?
尝试更改给定脚本中的start名称。
答案 2 :(得分:0)
试试这个方法:
var start = 17;
var loadUrl = '<?php echo site_url('welcome/battles'); ?>';
$("#latestbattlesnext").click(function () {
$.ajax({
url: loadUrl + '/' + start,
type: 'get',
dataType: 'html',
success: function(data){
$('#left').html(data);
start = start + 17;
},
error(jqXHR, textStatus, errorThrown){
console.log(textStatus + ' -- ' + errorThrown);
}
});
});
答案 3 :(得分:0)
在调用load或回调之前增加start变量。
var start = 17;
var loadUrl = '<?php echo site_url('welcome/battles'); ?>';
$("#latestbattlesnext").click(function () {
start = start + 17;
$('#left').load(loadUrl + "/" + start);
});
或者
var start = 17;
var loadUrl = '<?php echo site_url('welcome/battles'); ?>';
$("#latestbattlesnext").click(function () {
$('#left').load(loadUrl + "/" + start, function() {
start = start + 17;
});
});
答案 4 :(得分:0)
您可以尝试使用加载回调
var start = 17;
var loadUrl = '<?php echo site_url('welcome/battles'); ?>';
$("#latestbattlesnext").click(function () {
$('#left').load(loadUrl + "/" + start,function(){start = start + 17;});
});