javascript - 通過localStorage實現表格點擊行置頂 且刷新頁面保持當前狀態
問題描述
由于至少需要3列的值可以確定唯一的行
所以我的思路是 1.每次點擊置頂按鈕的時候 將對應行的那3列(每列為1個key)的value存入localStorage,即save過程2.每次重新載入頁面時,讀取本地數據,在獲取表格數據之后,每行的那3列都與存在本地數據對比,相等的就保持置頂
如上的想法,現在我的問題所在:多次點擊之后,每個列所對應的key的value應該不止一個 對比該如何進行for循環不太清楚具體用法
問題解答
回答1:其實你不用每列為一個Key存儲的,可以將這三列的數據做成一個JS對象,然后,將字符串化的值存入localStorage,比如:
var col_identifier = { col1: ... col2: ... col3: ...};localStorage.setItem(’col_identifier’, JSON.stringify(col_identifier));
用的時候直接取出這個值,然后解析,再取出col1、col2和col3的值,進行比對
var col_identifier = JSON.parse(localStorage.getItem(’col_identifier’) || ’{}’);var col1 = col_identifier.col1 || ’’;var col2 = col_identifier.col2 || ’’;var col3 = col_identifier.col3 || ’’;... // 下面就是對比表格數據了回答2:
可以置頂多個行嗎?是的話可以存一個數組。
感覺比較3個屬性過于復雜了,可以給每行一個唯一的 id,這樣只要看 id 是否匹配就可以。
相關文章:
1. MySQL數據庫中文亂碼的原因2. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!3. docker gitlab 如何git clone?4. angular.js - 關于$apply()5. angular.js - angularjs的自定義過濾器如何給文字加顏色?6. docker-compose 為何找不到配置文件?7. docker api 開發的端口怎么獲取?8. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下9. angular.js - Ionic 集成crosswalk后生成的apk在android4.4.2上安裝失敗???10. dockerfile - 為什么docker容器啟動不了?
