0

我有一个如下的javascript函数。

$("#update").click(function (){
             this.disabled = true;
            $("#kwBody > tr").each(function() {
               var $cells = $(this).children("td");

               var found=false,count=0,currentCell;
               for (var i=0;i<masterData.length;i++) {
                 currentCell=$cells.eq(i+1);
                 found = parseInt(currentCell.text(),10) >=masterData[i];
                 currentCell.toggleClass("found",found); //add or remove class to highlight 
                 count+=found;
               }
               window.console && console.log(masterData,count);
               $(this).toggle(count==masterData.length); // show if all cells >

            });
        });
});
$("slider:changed")

单击用于更新值的按钮后,我将尝试禁用该按钮。但是,由于我使用的是分页,如果我导航到第二页,我的按钮会再次重新启用。有没有办法让它在所有页面上都被禁用?

是到目前为止我工作的链接。

4

2 回答 2

2

使用 localStorage 或 cookie 来存储按钮的“真/假”值。在每个页面加载时检查该值并将其值分配回按钮的禁用属性。

在您的点击处理程序中,在“this.disabled = true”之后,添加:

localStorage.setItem("updateDisabled", true);

然后在页面加载时再次检查该值:

$(function () {
    var disabled = localStorage.getItem("updateDisabled");
    if (disabled) $('#update').attr('disabled', disabled);
});
于 2013-11-01T19:21:08.647 回答
1

您需要做以下两件事之一:(1) 以某种方式将变量传递回您的服务器,或 (2) 将其传递到下一页。您可以 (1) 使用 AJAX 或 cookie,也可以 (2) 使用 URL 参数或 cookie。网络是“无状态的”,这意味着(除其他外)每个页面都不知道另一个页面上刚刚发生的事情,除非您以某种方式传递该信息。

于 2013-11-01T19:20:43.153 回答