Javascript或Jquery存储项目集合
Javascript or Jquery store collection of items
在我的MVC web应用程序中,我有一个功能,我需要存储几个不同类型的动作和一个键值对。
例如:有一个链接:
<a class="downloadIcon" ajax-data-type="download" ajax-machineId="23" ajax-packageId="2343M324HDFHD">Download</a>
当有人点击上面的链接时,下载将开始,下载链接将被隐藏或删除。一旦下载完成,一个新的链接将被创建为"安装"选项在下载图标的地方。像这样:
<a class="installIcon" ajax-data-type="install" ajax-machineId="23" ajax-packageId="2343M324HDFHD">Install</a>
所以我必须记住以下内容:
ajax-data-type => Download, Install, Uninstlall, Enable, Disable
ajax-data-machineId => int
ajax-data-packageId => int
此功能将确保(例如)当下载正在"下载"但未完成,并且用户刷新他/她的浏览器时,下载链接将不会再次显示(因为下载已经启动)。然而,一旦安装(该功能已经完成,我从服务器得到响应),然后卸载,我将不得不再次显示"下载"链接等。
我会使用cookie吗?如有任何意见或帮助,不胜感激。
谢谢
您可以使用localStorage。
http://www.w3schools.com/html/html5_webstorage.asp基本上,您可以将变量添加到localStorage,它将保存它们以供将来访问。
例如:
下载:localStorage.state = 'downloading'
On done: localStorage.state = 'done'
on page load:
if(localStorage.state)
$(".downloadIcon").hide()
if(localStorage.state == 'done')
$(".installIcon").show()
如果像下面这样修改HTML
<a class="installIcon" data-ajax-type="install" data-ajax-machineId="23" data-ajax-packageId="2343M324HDFHD">Install</a>
你可以使用像$("a.installIcon").data("ajax-type")
这样的东西来获得你想要的数据。您还可以更改每个数据的值,例如$("a.installIcon").data("ajax-type","Disable")
相关文章:
- 如何使用 javascript 从 Web 服务重新加载项目集合
- backbone.js可以't传递集合中的模型项's查看项目's视图
- 无法在骨干项目中杀死僵尸集合
- 查找所选项目是否在集合中
- 我的 Meteor 项目如何通过服务器端 MongoDB/集合查找查询可靠地显示信息
- 如何在列表和项目视图中呈现骨干集合
- 从集合中删除项目时,将其从视图中删除
- 如何从集合中随机选择项目
- 将项目发布到叶节点时,没有通知传播到集合节点
- 快速搜索集合中的项目
- 为什么预期的路线不使用帆.js蓝图 API 将项目添加到模型集合
- 主干集合无法删除项目
- 主干.js:从集合中删除项目
- 循环(将项目存储在集合中)似乎迭代的次数比它应该的次数少
- 下划线.js:替换集合中的项目
- 在同一集合中添加两个项目
- Stamplay JS SDK-根据当前用户返回集合中的项目
- 如何根据Marionette.CompositeView中的集合更改项目视图容器值
- 如何通过fetch获取添加到Backbone集合的项目的索引
- Javascript或Jquery存储项目集合