如何在不同的页面上保持按钮状态?

时间:2018-03-29 16:39:19

标签: javascript jquery

当我点击时,我为按钮指定了disabled attribute

$(".save_post").on("click", function() {
    $(this).attr("disabled", "true");
});

但是,如果我改变页面然后我回到这个,那么按钮应该保持给定的禁用属性,如果我使用localStorage就可以了:

localStorage.setItem("savedArticle", "savedButton");
var myButtonState = localStorage.getItem("savedArticle", "savedButton");
$(".save_post").addClass(myButtonState);

但是,我有不同的页面可以有<button type="button" class="save_post">SAVE</button>所以每次点击按钮时都会给出disabled attribute,但如果我使用上面的localStorage,它会每次我们登陆带有myButtonState的页面时,都会将.save_post添加到所有按钮。

我试图仅将属性添加到真正点击的按钮。

1 个答案:

答案 0 :(得分:1)

只需为每个.save_post元素分配一个ID:

<button id="savePost1" class="save_post">Save Post</button>

然后引用ID:

$('.save_post').on('click', function() {
    $(this).attr("disabled", "true");
    localStorage.setItem('saveButton', $(this).attr('id'));
});

然后在加载时调用它:

$('#'+localStorage.getItem('saveButton')).attr('disabled', true);