一次单击并删除按钮状态持久性

时间:2016-08-01 16:11:34

标签: jquery python ajax django

我们说我有以下情况。 我有一个充满帖子的页面。对于每个帖子,我有一个按钮,通过ajax请求为模型的点变量添加一个点。我希望用户单击该按钮,添加点,使用jQuery从DOM中删除按钮,并在整个会话期间使该删除持久化。因此,刷新不会使按钮重新出现。

我的问题是最后一部分,使该按钮保持删除状态'。我知道http是无状态的,我必须在某个地方保持状态,所以我考虑使用localstorage / localsession或django session在数据库中添加一个字段。

哪种方法最合适?还有其他方法吗?

感谢您的时间,请告诉我,如果我可能错过任何类似的问题,我会立即删除此问题。

1 个答案:

答案 0 :(得分:0)

这是一个选项,但我并不认为这是最好的选择!

使用javascript库simplestorage实现跨浏览器兼容性:https://github.com/andris9/simpleStorage

为每个按钮指定一个唯一的ID和同一个类,例如:

<button id="points_123" class="add_points">Add Point</button>

然后在你的javascript中:       //记录点击的按钮       $(&#34; .add_points&#34;)。on(&#34;点击&#34;,功能(){

      simpleStorage.set(this.id, 1);

  });

  // when loading page, hide buttons already clicked
  // (even to hide everything by default and then show ones not clicked)
  $(".add_points").each(function() {
      var clicked = simpleStorage.get(this.id);
      if (clicked > 0) {
         $(this).hide();
      }

  });

在这里小提琴:https://jsfiddle.net/phoebebright/73bv7b6r/