vue实战(一):利用vue与ajax实现增删改查
vue实战(一):利用vue与ajax实现增删改查:
<%@ page pageEncoding="UTF-8" language="java" %>
<%@ include file="../commons/taglib.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache"> <link rel="stylesheet" href="${ctxStatic}/css/bootstrap.min.css">
<script type="text/javascript" src="${ctxStatic}/js/jquery.min.js"></script>
<script type="text/javascript" src="${ctxStatic}/js/bootstrap.min.js"></script>
<script type="text/javascript" src="${ctxStatic}/js/common.js"></script>
<script type="text/javascript" src="${ctx}/static/js/vue.js"></script>
<script type="text/javascript">
var getUrl='${ctx}/distributor/getRate';
var saveUrl= '${ctx}/distributor/saveRate';
var rate = [];
var vm ;
var rates ='';
$.ajax({
url : getUrl,
async : false,
dataType: 'json',
success: function(data2){
rate = data2;
}
});
console.log(rate);
$(function(){
vm = new Vue({
el: "#app",
data: {
rates : rate,
newRate:{
startMoney:'',
endMoney:'',
rate:''
},
myShow:false
} ,
methods: {
saveRate: function(){
rates = JSON.stringify(this.rates);
console.log(rates);
$.ajax({
url: saveUrl,
dataType: 'json',
type: 'post',
data:{
rate:rates
},
success:function(data){
console.log(data)
},
error:function(err){
console.log(err)
}
})
},
delRate: function(e){
var that = e.currentTarget;
console.log(e.currentTarget);
delId = that.id
this.rates.splice(delId,1);
},
addRate: function() {
this.myShow =true;
console.log(this.rates);
},
sureRate :function() {
this.myShow = false; //隐藏输入框
rates = this.rates;
newRate = this.newRate;
var newStartMoney = parseInt(newRate.startMoney); //输入的开始金额
var newEndMoney = parseInt(newRate.endMoney);// 输入的结束金额
var new_rate = parseInt(newRate.rate); // 输入的返佣比例
if(rates.length == 0){ //当一行数据都没有的时候
if(newStartMoney > newEndMoney){
alert("输入的startmoney必须小于endMoney");
return false;
}else if(new_rate <= 0 || new_rate >1){
alert("返佣比例必须在0到1之间")
return false;
}else{
var newRate2 ={
startMoney: newRate.startMoney,
endMoney: newRate.endMoney,
rate: newRate.rate
}
rates.push(newRate2);
}
}else{ //有数据的时候
var beforeEndMoney = parseInt(rates[rates.length-1].endMoney); //前一项的结束金额
if(newStartMoney < beforeEndMoney){
alert("开始金额必须大于等于前一项的结束金额");
return false;
}else if(newStartMoney > newEndMoney){
alert("开始金额必须小于结束金额");
return false;
}else if(new_rate <= 0 || new_rate >1){
alert("返佣比例必须在0到1之间")
return false;
}
else{
var newRate2 ={ //定义一个新的对象赋值,如果直接写 newRate2 = newRate的话,newRate2 其实只是一个相当于指针的东西,只是指向了newRate的值,如果newRate的值改变了,newRate2也会改变。
startMoney: newRate.startMoney,
endMoney: newRate.endMoney,
rate: newRate.rate
}
rates.push(newRate2);
} }
// 将输入框对象的值都设置为空,为下一次输入作准备
this.newRate.startMoney = '';
this.newRate.endMoney = '';
this.newRate.rate = '';
}
} });
});
</script> <style> </style>
<body id="app">
<table>
<thead>
<tr>
<th colspan="3">订单金额区间(元)</th><th colspan="1">返佣比例(%)</th><th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="rate in rates">
<td>{{rate.startMoney}}</td>
<td>~</td>
<td>{{rate.endMoney}}</td>
<td>{{rate.rate}}</td>
<td><button @click = "delRate" id="{{$index}}">删除</button></td> <!-- 这里的index索引方法要注意 -->
</tr>
<tr v-show="myShow">
<td><input type="text" v-model="newRate.startMoney"></td>
<td>~</td>
<td><input type="text" v-model="newRate.endMoney"></td>
<td><input type="text" v-model="newRate.rate"></td>
<td><button @click = "sureRate">确定</button></td>
</tr>
</tbody>
</table>
<button @click="addRate">新增</button> <button @click="saveRate">保存</button>
</body>
</html>
本次项目的注意点:
1:ajax 的使用不熟练
2:删除方法,可以使用索引,为每一行设置一个id属性值,然后删除总数据id属性值的那个项。
3:在新增项中,要注意js中,例如a=b中 "=" 其实相当于一个指针,当b的值变化时,a也会改变(a其实并没有值),这个时候我们要将a的具体属性值都要设置才行。
vue实战(一):利用vue与ajax实现增删改查的更多相关文章
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...
- ajax参考增删改查
AJAX做增删改查详细! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- C#利用WinForm调用WebServices实现增删改查
实习导师要求做一个项目,用Winform调用WebServices实现增删改查的功能.写下这篇博客,当做是这个项目的总结.如果您有什么建议,可以给我留言.欢迎指正. 1.首先,我接到这个项目的时候,根 ...
- Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:andro ...
- Vue+Mock.js模拟登录和表格的增删改查
有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...
- MVC中的Ajax与增删改查
自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...
- MVC中的Ajax与增删改查(一)
自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...
- JDBC 1 利用Statement对数据库进行增删改查
准备工作 1新建po类:User private int id; private String name; private String pwd; set,get方法省略 2 新建UserDao类, ...
- 利用Servlet做一套增删改查
真的,稳住,考上研,利用两年逆袭.一步一步来,实在不行,最后最差也不过就是就回家种地,想想也不错. 前期准备配置 建一个动态web项目 新建Dynamic Web ProjectFile->Ne ...
随机推荐
- 课时60.CSS的固定格式(掌握)
CSS就是用来设置样式的,美化界面的 如何验证? 打开一个京东首页 删除掉css样式 发现页面变得非常难看 由此我们验证了一个说法,css就是用来美化界面的 1.格式: <style type= ...
- 工具类(为控件设置圆角) - iOS
为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件添加边框样式_工具类 */ #import <UIKit/UIKit.h> typedef ...
- 关于Vue-cli 跨域,即使是非自己的服务器也可以get到内容
刚入门vue ,打算用vue的脚手架做一个小项目.需要用到第三方的api,无奈遇到各种各样的问题. 比如 Access-Control-Allow-Origin ,或者使用了ajax的jsonp模式之 ...
- Largest Rectangle in a Histogram(hdu1506,单调栈裸题)
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- POJ 1113--Wall(计算凸包)
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40363 Accepted: 13754 Description On ...
- Mysql连接报2003-10061以及1045错误
Mysql连接不上报的异常,调了好几个小时,分享一下 2003-10061错误这种情况就是没有启动,我是重装系统后出现,我安装的Mysql下并没有my.ini配置 windows下也是没有,服务管理上 ...
- Percona-Toolkit工具包之pt-archiver
Preface There's a common case that we neet to archive amount of records in some tables to a ...
- linux运维、架构之路-shell编程(一)
一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,l ...
- JavaScript--Dom操作元素的样式
在前端开发中,有时候需要动态修改的网页元素的样式,这里将使用JS动态修改元素样式的方法做个小结: 网页结构: 按钮: 标签:input 类型:button id:btn ...
- MySQL Waiting for table metadata lock的解决方法
最近需要在某一个表中新增字段,使用Sequel Pro 或者Navicat工具都会出现程序没有反应,使用 show processlist 查看,满屏都是 Waiting for table meta ...