一次性点击删除按钮状态持久化

2024-04-20 07:47:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有下面的场景。 我的一页都是帖子。对于每一篇文章,我都有一个按钮,通过ajax请求向模型的points变量添加一个点。我希望用户单击该按钮,添加该点,使用jQuery从DOM中删除该按钮,并使该删除在整个会话中保持不变。所以刷新不会使按钮重新出现。你知道吗

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

哪种方法最合适?还有别的办法吗?你知道吗

谢谢您的时间,请告诉我,如果我可能错过了任何类似的问题,我会立即删除这一个。你知道吗


Tags: 用户模型数据库http状态文章场景ajax
1条回答
网友
1楼 · 发布于 2024-04-20 07:47:13

这里有一个选择,尽管我并不认为它是最好的!你知道吗

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

为每个按钮提供唯一的id和相同的类,例如:

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

然后在javascript中: //记录单击的按钮 $(“.add\u points”).on(“click”,function(){

      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/

相关问题 更多 >