js Json数组的增删改查
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>基础</title>
<script type="text/javascript" src="js/base.js"></script>
</head>
<body>
<div>
<label for="name">姓名:</label><input id="name" name="name" type="text" /><br/>
<label for="date">日期:</label><input id="date" name="date" type="text" /><br/>
<a href="javascript:void(0)" onclick="add()">添加</a>
<a href="javascript:void(0)" onclick="find()">查询</a>
<div id = "result"></div>
--------------------------------------
<div id="edit">
<label for="name">姓名:</label><input class="name" name="name" type="text" /><br/>
<label for="date">日期:</label><input class="date" name="date" type="text" /><br/>
<label onclick="save()">保存</label>
</div>
</div>
<script>
var tickets = []; // [{"id":"1","name":"餐饮","date":"20181108"},{"id":"2","name":"火车票","date":"20181109"}]
//增加
function add(){
var name = document.getElementById("name").value;
var date = document.getElementsByName("date")[0].value;
var obj = {};
obj.id = tickets.length + 1;
obj.name = name;
obj.date = date;
console.log(JSON.stringify(obj));
tickets.push(obj);
console.log(tickets.length);
}
//查询
function find(){
var html = "";
for(var i = 0; i < tickets.length;i++){
html += "<p><label>"+tickets[i].id+"</label>|<label>" + tickets[i].name+ "</label>|<label>"+tickets[i].date+"</label> <label onclick='del(\""+tickets[i].id+"\")'>删除</label><label onclick='edit(\""+tickets[i].id+"\")'>修改</label></p>";
}
document.getElementById("result").innerHTML = html;
}
//修改
function edit(id){
var obj = null;
tickets.forEach(function(e){
if(e.id == id){
obj = e;
}
})
console.log(JSON.stringify(obj));
document.getElementsByClassName("name")[0].value = obj.name;
document.getElementsByClassName("date")[0].value = obj.date;
document.getElementById("edit").setAttribute("data-id",obj.id);
}
//保存
function save(){
// 待保存的id
var id = document.getElementById("edit").getAttribute("data-id");
var name = document.getElementsByClassName("name")[0].value;
var date = document.getElementsByClassName("date")[0].value;
tickets.forEach(function(e){
if(e.id == id){
e.name = name;
e.date = date;
}
})
}
//删除
function del(id){
console.log("id是" + id);
for(var i = 0; i < tickets.length;i++){
if(tickets[i].id == id){
tickets.splice(i,1);
}
}
}
</script>
</body>
</html>
js Json数组的增删改查的更多相关文章
- 【基础篇】js对本地文件增删改查--增
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--查
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--改
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--删
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
- Shell数组的增删改查
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]} 1 2 3 [root@bogon tmp]# echo $ ...
- 【基础篇】js对本地文件增删改查
[基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查
- js数组的增删改查
array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...
- 【原生】js实现表格的增删改查
说在前面的,写给小白白的,大神请绕道~ 今天用原生js写一下动态表格的增删改查,主要是熟悉一下js的DOM操作. 首先,做一个表格,用来显示提交的数据,如图下: 此处,我添加了编号.姓名.密码.生日. ...
随机推荐
- etcd集群部署与遇到的坑(转)
原文 https://www.cnblogs.com/breg/p/5728237.html etcd集群部署与遇到的坑 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一 ...
- centos6.9安装oracle11g
感谢强哥的文档 源文档链接 https://www.qstack.com.cn/archives/68.html #------------------------------------------ ...
- Jmeter(三十四)Jmeter-Question之“Cookie获取”
2018.4.27 还在做性能测试的过程中,唉,只能说坑很多. 无明确需求.无人手协调等问题,什么都需要自己去挖掘. 本次测试的工具选型依然是Jmeter,真实场景中遇到了这么个问题.可能解决办法有点 ...
- js时间加减
1.选择上一周方法(不算当天) $("#weekSel").click(function () { //当前时间 var now = new Date(); //当前时间往前推一周 ...
- OpenCV安装教程(Ubuntu 18.04)
视频教程 带字幕版: https://www.youtube.com/watch?v=0vjC2UHptU4 无带字幕版:https://fzhshared-1252154746.cos.ap-gua ...
- 第12课 std::bind和std::function(3)_std::function可调用对象包装器
1. std::function (1)首先是一个类模板,用于包装可调用对象.可以容纳除了类成员(函数)指针之外的所有可调用对象. (2)可以将普通函数,lambda表达式和函数对象类统一起来.尽管它 ...
- Linux下用node-inspector实现NodeJS远程调试开发
1.首先安装 node-inspector npm install -g node-inspector -g表示全局安装,如果像我一样安装失败,再试几次,npm偶尔就会这样抽风... 这一步是关键的, ...
- python多进程与服务器并发
进程 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程. 并发与并行 无论是并行还是并发,在用户看 ...
- CSS中可以继承和不能继承的属性
一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shad ...
- HTTP请求返回值所代表的含义
一些常见的状态码为: 200 - 服务器成功返回网页(表示请求成功) 404 - 请求的网页不存在(可能是网络的问题,也可能是网页没办法访问不代表网页不存在) 503 - 服务器超时(服务器故障) 下 ...