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")

値を更新するためのボタンをクリックすると、ボタンを無効にしようとしています。ただし、ページネーションを使用しているため、2 番目のページに移動すると、ボタンが再び有効になります。すべてのページで無効にしておく方法はありますか?

これまでの私の作品へのリンクです。

4

2 に答える 2

2

ボタンの「true/false」値を保存するには、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

次の 2 つのいずれかを行う必要があります: (1) 何らかの方法で変数をサーバーに戻すか、(2) 次のページに渡します。(1) は AJAX または Cookie を使用して実行でき、(2) は URL パラメーターまたは Cookie を使用して実行できます。Web は「ステートレス」です。つまり、(特に) 別のページで何が起こったのかについて、何らかの方法で情報を渡さない限り、各ページは何も知りません。

于 2013-11-01T19:20:43.153 に答える