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>
最新文章
- ReactMix框架,让你实现一套js代码,基于ReactNative在H5,App都能完美跑起来,Write Once,Run Anywhere
- 实用js函数收集
- 为什么要用rem
- android 状态栏、标题栏、屏幕高度
- floor舍去法取整
- class不想被复制的两个做法
- Linux Kernel ‘test_root()’函数本地拒绝服务漏洞
- iOS6 自动布局 入门–Auto Layout(转)
- HDU 3103 Shoring Up the Levees(计算几何 搜寻区域)
- 【java】实现Interface java.lang.Comparable<;T>;接口的int compareTo(T o)方法实现对象数组或链表或集合的排序,和挽救式对象比较器Interface java.util.Comparator<;T>;
- 打通MySQL的操作权限
- 【原创】大叔问题定位分享(24)hbase standalone方式启动报错
- Hibernate入门(三)
- CF1091E New Year and the Acquaintance Estimation
- zoj3956(Course Selection System)_Solution
- python selenium2 有关cookie操作实例及如何绕开验证码
- [Java多线程]-J.U.C.atomic包下的AtomicInteger,AtomicLong等类的源码解析
- Softmax回归推导过程
- Java中级面试题——(上)
- BAT特殊字符(转)