【问题标题】:jQuery: script remember values between times it is triggered?jQuery:脚本在触发它的时间之间记住值吗?
【发布时间】:2011-02-06 05:47:21
【问题描述】:

我正在用 jQuery 编写一个 ajax 脚本。该脚本从返回 HTML 的 php 文档中获取新页面或上一页。

如果位于第 1 页,我单击下一步,脚本能够找到下一个页码 (page2),但是当我再次单击它时,脚本必须再次能够找到下一个页码 (page3 ) 而此刻它没有。我想知道如何在触发脚本的时间之间保存一个变量,这样每次有人点击“下一个”时我可以+1,当有人点击“上一个”时我可以-1。

这是我的代码:

 $('.buttonNeste').click(function(event){
  event.preventDefault();

  if (page == null || id == null ) {
   var page = parseInt($(this).closest('.paginationFullWidth').attr('id')) + 1;  
   var id = $(this).closest('.paginationFullWidth').siblings('.jtextfill').children('h1').attr('id');
  }
  else {
   var page = page + 1;  
  }

  var target = $(this);
  $.post( 'http://www.example.com/controllers/foo.php', {
   'page': (
    page
   ), 'id': 
    id
   }, function(data) {
   $(target).closest('.paginationFullWidth').siblings('.commentsContainer').html(data);
  });
 });

感谢您的宝贵时间。

亲切的问候,
马吕斯

【问题讨论】:

    标签: jquery ajax session post save


    【解决方案1】:

    当您转到第 2 页时,我看不到最接近的“.paginationFullWidth”的 ID 属性在哪里更新为 2。在我看来,这段代码总是会将您发送到第 2 页。当您显然在第 2 页上,该 ID 属性仍为 1。

    【讨论】:

      【解决方案2】:

      假设您在代码的其他地方声明了 pageid,请不要在 if 和 else 块中重新声明它们。通过重新声明它们,您将它们的范围限制在这些块中。

      从 if 和 else 块中的 pageid 中删除 var

      【讨论】:

      • 谢谢,我不知道! :) M
      猜你喜欢
      • 2015-06-06
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      相关资源
      最近更新 更多