2013-11-01 7 views
0

У меня есть функция javascript, как показано ниже.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 - ссылка на мою работу до сих пор.

+0

Спасибо за комментированием. Как установить/отключить cookie, чтобы сделать то же самое? –

ответ

2

Используйте localStorage или файл cookie, чтобы сохранить значение «true/false» кнопки. Проверьте это значение на каждой загрузке страницы и присвойте его значение обратно в свойство отключения кнопки.

В обработчике щелчка, после того, как "this.disabled = истина", добавить:

localStorage.setItem("updateDisabled", true); 

Затем проверить значение снова на странице загрузки:

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

Спасибо за комментирование. Я пытаюсь добавить эту строку в функцию javascript. \t $ .cookie ("test", this.disabled = true); Но кнопка не отключена. –

+0

Следуйте примерам, которые могут быть полезны: https://github.com/carhartl/jquery-cookie. – adam

1

Вам нужно сделать одну из двух вещей: (1) передать переменную на ваш сервер в некотором роде или (2) передать ее на следующую страницу. Вы можете сделать (1) с помощью AJAX или cookie, и вы можете сделать (2) с параметром URL или cookie. Интернет является «без гражданства», что означает (между прочим), что каждая страница ничего не знает о том, что только что произошло на другой странице, если вы каким-то образом не передадите эту информацию.

+0

Спасибо за комментирование. Я пытаюсь добавить эту строку в функцию javascript. \t $ .cookie ("test", this.disabled = true); Но кнопка не отключена. –

+1

Непонятно, что вы пытаетесь сделать там. '$ .cookie (" test ", this.disabled = true);' будет * установить * 'this.disabled' в' true', затем установить cookie на основе возвращаемого значения этого оператора (т. е. 'test' cookie всегда будет содержать «true»). –

Смежные вопросы