2017-01-19 36 views
1

我有一张数据表供用户查看并进行更改。他们可以选择删除一行,如果他们想要的话。当他们删除一行时,它会发回给db哪一行将被删除。对于用户而言,行不会立即删除,但会得到一个新的“已删除”类,它有一些样式让用户知道它被删除。我还会每隔10分钟刷新一次页面,当它刷新时,新添加的“已删除”类将消失。如何在使用Javascript刷新页面时对类进行更改

我怎样才能得到它,当页面刷新时,类将保持在行上?

下面是定时器知道何时刷新页面的定时器功能。我正在使用ajax来刷新页面。

 function startClock() { 
      // Get the time to stop the effect 
      var stopTime = new Date(); 
      stopTime.setMinutes(stopTime.getMinutes() + 10); 
      // Get a reference to the timer so it can be cancelled later 
      timer = setInterval(function() { 
       // Check to see if the timer should stop 
       var currentTime = new Date(); 
       if (currentTime < stopTime) { 
        triggerDataTable(); //refresh dataTable 
        var randomnumber = Math.floor(Math.random() * 100); 
       } else { 
        // Stop the timer 
        clearInterval(timer); 
       } 
      }, 600000); 
     } 

我会使用localStorage吗?如果是的话,我会怎么做呢?我不熟悉存储本地值或类似的东西。

+0

也许而不是实际上从数据库中删除行,实际上可以为行赋予一个状态类型的列(激活,删除等)。这样刷新页面时,您可以根据行的状态更改类。 – Bram

+0

@Bram我给该行一个'删除'的类..但是当页面刷新时如何保留这个类? – JBaldwin

+0

而不是从数据库中删除行,而是更新行,并为其指定一个状态(例如存档)以指示它已被删除。这样删除的行仍然在你的数据库中。在刷新时加载所有行,具有不同状态的行将获得不同的类。 – Bram

回答

2

我不是100%肯定,这个可是你知道做这样的事情:

var deletedRow = $(".deleted"); 
localStorage.setItem(deletedRow, $(".deleted").val()); 
+0

我同意,使用本地存储... – Paul

2

尝试使用的sessionStorage在localStorage的

会话存储属性维护每个给定的起源单独的存储区域和为一个会议。

本地存储器执行同样的操作,但即使在浏览器关闭并重新打开时也会保留。

sessionStorage.setItem('item', value); 
sessionStorage.getItem('item'); 
+0

将'项目'是行被改变的类? – JBaldwin

+0

项目可以是任何键(字符串)。值可以是任何东西(字符串,数字,对象,数组)。所以它取决于你的要求。 –

+0

所以,像这样:var deletedRow = $(“。deleted”); \t \t \t sessionStorage.setItem(deletedRow,$(“。deleted”).val()); \t \t \t sessionStorage.getItem(deletedRow); – JBaldwin

相关问题