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实现增删改查的更多相关文章

  1. Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...

  2. ajax参考增删改查

    AJAX做增删改查详细!   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. C#利用WinForm调用WebServices实现增删改查

    实习导师要求做一个项目,用Winform调用WebServices实现增删改查的功能.写下这篇博客,当做是这个项目的总结.如果您有什么建议,可以给我留言.欢迎指正. 1.首先,我接到这个项目的时候,根 ...

  4. Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:andro ...

  5. Vue+Mock.js模拟登录和表格的增删改查

    有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...

  6. MVC中的Ajax与增删改查

    自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...

  7. MVC中的Ajax与增删改查(一)

    自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...

  8. JDBC 1 利用Statement对数据库进行增删改查

    准备工作 1新建po类:User private int id; private String name; private String pwd; set,get方法省略 2  新建UserDao类, ...

  9. 利用Servlet做一套增删改查

    真的,稳住,考上研,利用两年逆袭.一步一步来,实在不行,最后最差也不过就是就回家种地,想想也不错. 前期准备配置 建一个动态web项目 新建Dynamic Web ProjectFile->Ne ...

随机推荐

  1. LeetCode13.罗马数字转整数 JavaScript

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...

  2. iOS | CAShapeLayer转场动画

    什么也不说了,作为一名乐于分享技术的小开发,直接先上个样式最为直观贴切,有需要的朋友可以直接拿过去用. 需要demo请点击这里 :github 在这个demo中,核心为选用画布CAShapeLayer ...

  3. NEC html规范

    HTML规范 - 整体结构 HTML基础设施 文件应以“<!DOCTYPE ......>”首行顶格开始,推荐使用“<!DOCTYPE html>”. 必须申明文档的编码cha ...

  4. SpringBoot配置全局自定义异常

    不同于传统集中时Springmvc 全局异常,具体查看前面的章节https://www.cnblogs.com/zwdx/p/8963311.html 对于springboot框架来讲,这里我就介绍一 ...

  5. 【操作系统作业—lab1】linux shell脚本 遍历目标文件夹和所有文件 | 包括特殊字符文件名的处理

    要求:写一个linux bash脚本来查看目标文件夹下所有的file和directory,并且打印出他们的绝对路径. 运行command:./myDir.sh  input_path  output_ ...

  6. dom技术解析xml (php)

    1.xml实例 test.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE 班级 SYS ...

  7. 学会了 python 的pip方法安装第三方库

    超级开心啊!!!!!!!!!!!!! win10 打开cmd Installing with get-pip.py To install pip, securely download get-pip. ...

  8. dot安装和使用

    1.安装 apt-get install graphviz 如果报错说缺少依赖文件,则使用apt自动安装依赖项 apt-get -f install 我在安装中报错: dpkg: unrecovera ...

  9. 函数:引用file类对象及io类对象作为参数打印文本及显示文本

    #include <iostream> #include <fstream> #include <cstdlib> using namespace std; voi ...

  10. CopyArrays

    import java.util.Arrays; public class CopyArrays { public static void main(String args[]) { int []a ...