jQuery實現(xiàn)本地存儲
用jQuery實現(xiàn)本地存儲,供大家參考,具體內(nèi)容如下
- 要求:點擊提交按鈕,讓用戶輸入的內(nèi)容分別加入到表格對應的列表中
- 要求:點擊每一行的刪除按鈕,能刪除當前行
- 要求:刷新頁面時能保留當前的頁面效果(數(shù)據(jù)狀態(tài)不會消失)
HTML結構
<div style="margin-bottom: 15px;">
<input type="text" id="username" placeholder="請輸入姓名">
<input type="text" id="sex" placeholder="請輸入性別">
<input type="text" id="age" placeholder="請輸入年齡">
<input type="button" value="提交" id="btn">
</div>
<table border="1" width="540">
<thead>
<tr>
<td>姓名</td>
<td>性別</td>
<td>年齡</td>
<td>操作</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
初始化數(shù)據(jù)
// 初始化數(shù)據(jù)的作用:清空頁面存儲的內(nèi)容恢復到原始狀態(tài)
var arr = [{
'username': '小紅',
'sex': '女',
'age': 24
}, {
'username': '小藍',
'sex': '男',
'age': 24
}]
localStorage.setItem('data', JSON.stringify(arr))
入口函數(shù)
$(function () {
//...以下所有代碼
}
按鈕綁定點擊事件
$('#btn').click(function () {
// var data = getData()
// 綁定點擊事件
var obj = {
// 獲取輸入框中的值
username: $('#username').val(),
sex: $('#sex').val(),
age: $('#age').val()
}
// 重新獲取數(shù)據(jù)
var data = getData()
// 重新往本地添加數(shù)據(jù)
data.push(obj)
// 存儲數(shù)據(jù)
setData(data)
// 渲染到頁面
randerData()
})
獲取本地存儲中的數(shù)據(jù)并把數(shù)據(jù)轉成復雜的數(shù)據(jù)類型
function getData() {
// 獲取的是字符串類型,獲得數(shù)據(jù),沒有數(shù)據(jù)返回為空數(shù)組
return JSON.parse(localStorage.getItem('data')) || []
}
存儲data中的數(shù)據(jù)
function setData(data) {
// 存儲數(shù)據(jù)并把復雜數(shù)據(jù)類型轉換成字符串類型
localStorage.setItem('data', JSON.stringify(data))
}
封裝頁面渲染函數(shù)
function randerData() {
// 渲染前先清空列表
$('tbody').empty()
// 獲取數(shù)據(jù)
var data = getData()
// 遍歷data里面的對象元素,獲取對象元素里面的值
// item是數(shù)組里面的元素
data.forEach(function (item, i) {
// 創(chuàng)建tr
var tr = '<tr><td>' + item.username + '</td><td>' + item.sex + '</td><td>' + item.age + '</td><td><a href="javascript:;" rel="external nofollow" >刪除</a></td></tr>'
// 在主體的末尾中添加tr
$('tbody').append(tr)
})
}
// 頁面一打開就開始把本地存儲中的數(shù)據(jù)添加上去
randerData()
用事件委托給每個刪除鏈接綁定點擊刪除事件
// 不能直接獲取a
$('tbody').on('click', 'a', function () {
// 移除它的祖父元素tr
$(this).parents('tr').remove()
// 重新獲取數(shù)據(jù)
setData(data)
// 重新渲染
randerData()
})

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于JQuery及AJAX實現(xiàn)名人名言隨機生成器
這篇文章主要為大家詳細介紹了基于JQuery及AJAX實現(xiàn)名人名言隨機生成器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Jquery on方法綁定事件后執(zhí)行多次的解決方法
下面小編就為大家?guī)硪黄狫query on方法綁定事件后執(zhí)行多次的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
基于jquery實現(xiàn)省市區(qū)三級聯(lián)動效果
這篇文章主要介紹了基于jquery實現(xiàn)省市區(qū)三級聯(lián)動效果,需要的朋友可以參考下2015-12-12
JQuery的read函數(shù)與js的onload不同方式實現(xiàn)
JQuery的read函數(shù)與js的onload,想必大家對這兩個方法都有所熟悉吧,接下來介紹一個實例用以上兩種方法各自實現(xiàn),感興趣的你可不要錯過了哈,希望可以幫助到你2013-03-03
jQuery插件FusionCharts繪制的3D環(huán)餅圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionCharts繪制的3D環(huán)餅圖效果,結合完整實例形式分析了jQuery使用FusionCharts載入xml格式數(shù)據(jù)繪制圖形的操作步驟與相關實現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-04-04
jQuery select自動選中功能實現(xiàn)方法分析
這篇文章主要介紹了jQuery select自動選中功能,結合實例形式分析了jQuery實現(xiàn)select響應與級聯(lián)菜單顯示相關功能與操作技巧,需要的朋友可以參考下2016-11-11
jQuery實現(xiàn)簡單的回到頂部totop功能示例
這篇文章主要介紹了jQuery實現(xiàn)簡單的回到頂部totop功能,涉及jQuery事件響應及頁面元素屬性動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下2017-10-10

