Javascript - 在所有页面上禁用该按钮

时间:2013-11-01 19:14:53

标签: javascript jquery

我有一个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")

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

到目前为止,

This是我工作的链接。

2 个答案:

答案 0 :(得分:2)

使用localStorage或cookie来存储按钮的“true / false”值。检查每个页面加载的值,并将其值返回到按钮的禁用属性。

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

localStorage.setItem("updateDisabled", true);

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

$(function () {
    var disabled = localStorage.getItem("updateDisabled");
    if (disabled) $('#update').attr('disabled', disabled);
});

答案 1 :(得分:1)

您需要执行以下两项操作之一:(1)以某种方式将变量传递回服务器,或(2)将其传递到下一页。您可以使用AJAX或cookie执行(1),并且可以使用URL参数或cookie执行(2)。网络是“无国籍的”,意思是(除其他事项外)每个页面都不知道其他页面上发生的事情,除非您以某种方式传递该信息。