2013-05-10 52 views
1

我有一個表格顯示來自我的數據庫的數據。在每一行上,都有一個我用jquery製作的按鈕,當點擊時可以將其排出。當我刷新頁面時,劃掉的樣式不會保留。 jquery風格的變化並非永久性的。有沒有辦法讓這種變化永久化?如何使用jquery永久更改數據庫數據的樣式?

$('table').on('click','.dead',function(){ 

      $(this).parent().siblings().css({textDecoration: 'line-through'}); 

    }); 

和PHP

<?php while($row = $data->fetch_assoc()) { ?> 
<tr> 

<td><?php echo $row['title']; ?> </td> 
<td><?php echo $row['requester']; ?></td> 
<td><?php echo $row['reward']; ?></td> 
<td><?php echo $row['qual']; ?></td> 
<td><?php echo $row['time']; ?></td> 
<td><?php echo $row['category']; ?></td> 
<td><a href="<?php $row['link']; ?>"><button class="btn btn-mini btn-primary" type="button">Do This Hit</button></a></td> 
<td><button class="btn btn-danger btn-mini dead" type="button">Dead</button></td> 

</tr> 
<?php } ?> 
+0

你的。點擊事件過程中應用該樣式,但沒有持續性。我不會說這裏有一個「正確的」答案。您需要在Cookie,會話變量或數據庫本身中設置值,以獲得某種持久性。 – 2013-05-10 03:13:56

+0

永久是不可能的。除非你必須修改你的數據庫爲額外的領域,文字裝飾的標誌是或否設置,然後循環使用樣式基於該 – coolguy 2013-05-10 03:14:06

+0

是否交叉指出數據庫中的任何東西? – miah 2013-05-10 03:14:12

回答

1

你的HTML,的.js和.css代碼是所有從服務器每次請求頁面時拉。這意味着,通過.JS申請的任何樣式都將在下一次請求頁面時被刪除,這就是您現在看到的內容。

你的開發者負責編寫某種存儲標誌,並在$(document).ready()上讀取它,這樣當頁面被請求並且dom準備好時,它會做的第一件事就是檢查你的持久的旗幟,它可以重新應用你的風格的當前狀態(無論是打開還是關閉,或在你的情況下,直通或不直通)

有很多選擇你如何去持續旗。你可以設置一個cookie,你可以使用會話存儲,你可以使用LocalStorage,或者你甚至可以在你的數據庫中設置一個標誌。這取決於你提供該狀態的持久性。

如果要支持現代瀏覽器,你可以嘗試在localStorage的設置標誌() http://www.jquerysdk.com/api/jQuery.localStorage