Vue.js 使用Vue.js和Jquery做增删改查

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="bootstrap-4.1.3-dist/css/bootstrap.css" rel="stylesheet"/>
    <style type="text/css">
        table thead tr th {
            text-align: center;
        }
    </style>
    <script src="js/jquery-3.3.1.js"></script>
    <script src="js/axios.min.js"></script>
    <!--<link rel="stylesheet" href="css/index.css">-->
    <script src="js/vue.js"></script>
    <!--<script src="js/index.js"></script>-->
</head>
<style>
    /***** 结合CSS样式一起使用 *****/
    [v-cloak] {
        display: none !important;
    }
</style>
<body>
<div id="app" v-cloak style="padding:20px;">
    <div id="index" class="panel panel-primary">
        <div class="panel-heading">
            搜索名字: <input type="text" id="name" name="name"> &nbsp;&nbsp;
            班级号:
            <select id="classid" name="classid">
                <option value="">请选择</option>
                <option v-for="item in clist" :value=item.classid>{{item.classname}}</option>
            </select>
            &nbsp;&nbsp;
            教师名:
            <select id="teacherid" name="teacherid">
                <option value="">请选择</option>
                <option v-for="item in tlist" :value=item.teacherid>{{item.teachername}}</option>
            </select> &nbsp;&nbsp;
            <input type="button" @click.prevent="find()" value="搜索" id="find" name="find">&nbsp;&nbsp;
            <input type="button" @click.prevent="add()" value="添加" id="add" name="add">
        </div>
        <!--width="90%" border="1"-->
        <table class="table table-bordered table-striped text-center">
            <tr>
                <td>编号</td>
                <td>名字</td>
                <td>班级名</td>
                <td>教师名</td>
                <td>操作</td>
            </tr>
            <tr v-for="item in list" :key="item.id">
                <td>{{item.id}}</td>
                <td>{{item.name}}</td>
                <td>{{item.classname}}</td>
                <td>{{item.teachername}}</td>
                <td>
                    <a href="#" @click.prevent="remove(item.id)">删除</a>&nbsp;
                    <a href="#" @click.prevent="edit(item)">修改</a>&nbsp;
                </td>
            </tr>
        </table>
        <br>
        <div><a href="#" @click.prevent="homepage">首页</a>&nbsp;
        <a href="#" @click.prevent="uppage">上一页</a>
        当前页:{{pagebean.page}}&nbsp;
        最大页数:{{pagebean.maxPages}}&nbsp;
        <a href="#" @click.prevent="down">下一页</a>
        <a href="#" @click.prevent="lastpage">末页</a>&nbsp;&nbsp;&nbsp;
        <input type="number" style="width: 50px" id="pagex" min="1" >&nbsp;<input type="button" @click.prevent="go()" value="跳转" id="t">
        &nbsp;&nbsp;&nbsp;&nbsp;
        <select id="limit" @change="changge()">
        <option>10</option>
        <option>20</option>
        </select>
        </div>
        <!--<template>-->
            <!--<v-pagination :total=pagebean.maxPages @page-change="pageChange1" @page-size-change="pageSizeChange1"></v-pagination>-->
        <!--</template>-->
        <input type="hidden" value="" id="page">
    </div>
    <!--编辑页面-->
    <div id="edit">
        <table class="table table-bordered table-striped text-center">
            <input type="hidden" id="hid">
            <tr>
                <td>姓名</td>
                <td><input type="text" name="ename" id="ename"></td>
            </tr>
            <tr>
                <td>班级</td>
                <td>
                    <select id="eclassid" name="eclassid">
                        <option value="">请选择</option>
                        <option v-for="item in clist" :value=item.classid>{{item.classname}}</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>教师</td>
                <td><select id="eteacherid" name="eteacherid">
                    <option value="">请选择</option>
                    <option v-for="item in tlist" :value=item.teacherid>{{item.teachername}}</option>
                </select></td>
            </tr>
            <tr>
                <td><input type="button" @click.prevent="confirm" value="确定"></td>
                <td><input type="button" @click.prevent="back" value="返回"></td>
            </tr>
        </table>
    </div>
</div>
<script>
    $('#edit').hide();
    //实例化vue
    var vm = new Vue({
        el: '#app',
        data: {
            list: find().list,//学生数据
            clist: class_bind(),//班级数据
            tlist: teacher_bind(),//教员信息
            pagebean: find().pagebean//分页信息
        },
        created() {//布置完之后执行的区域

        },
        methods: {
            find() {//查询
                this.list = find().list
                this.pagebean = find().pagebean
            }
            ,
            remove(id) {//删除
                if (confirm('确定删除吗?')) {
                    remove(id);
                    this.list = find().list
                    this.pagebean = find().pagebean
                }

            }, back() {//点击返回
                $('#index').show();
                $('#edit').hide();
                //该项目的所有ajax请求可以改成以下的axios请求
                // let params=new URLSearchParams();
                // params.append("limit","20");
                // params.append("name","张三");
                // axios.post('studentaction.action?methodName=find',params).then(function (value) {
                //     console.log(value.data);//value.data为返回的数据
                // })
            },
            edit(item) {//点击修改
                $('#index').hide();
                $('#edit').show();
                $('#hid').val(item.id);
                $('#ename').val(item.name);
                $('#eclassid').val(item.classid);
                $('#eteacherid').val(item.teacherid);
            }, add() {//点击添加
                $('#index').hide();
                $('#edit').show();

            }, confirm() {//确定按钮
                if ($('#hid').val() == "") {//为空则是添加
                    add('add');
                } else {
                    add('edit');//修改
                }
                this.list = find().list
                this.pagebean = find().pagebean
            },
            homepage() {//点击首页
                $('#page').val(1);
                this.list = find().list
                this.pagebean = find().pagebean
            }, uppage() {//上一页
                var up = $('#page').val() == 1 ? 1 : parseInt($('#page').val()) - 1;
                $('#page').val(up);
                this.list = find().list
                this.pagebean = find().pagebean
            }, down() {//下一页
                var dowm = $('#page').val() == this.pagebean.maxPages ? this.pagebean.maxPages : parseInt($('#page').val()) + 1;
                $('#page').val(dowm);
                this.list = find().list
                this.pagebean = find().pagebean
            }, lastpage() {//末页
                $('#page').val(this.pagebean.maxPages);
                this.list = find().list
                this.pagebean = find().pagebean
            }, go() {//跳转
                if ($('#pagex').val() >= 0 && $('#pagex').val() <= this.pagebean.maxPages) {
                    $('#page').val($('#pagex').val());
                    this.list = find().list
                    this.pagebean = find().pagebean
                } else {
                    alert('请输入正确页数');
                }

            }, changge() {//换数量的方法
                this.list = find().list
                this.pagebean = find().pagebean
            }
        }
    });

    /**
     * 查询方法
     * @returns {*}
     */
    function find() {
        var data2;
        $.ajax({
            type: "post",
            url: "studentaction.action?methodName=find",
            dataType: "json",
            data: {//传给servlet的数据,
                name: $('#name').val(),
                classid: $('#classid').val(),
                teacherid: $('#teacherid').val(),
                page: $('#page').val(),
                limit: $('#limit').val(),
                d: new Date()
            },
            async: false,//加上这个ajax先执行
            success: function (data) {
                $('#page').val(data.pagebean.page);
                //返回处理的方法
                console.log(data);
                data2 = data;
            }
        });
        return data2;
    }


    /**
     * 班级数据绑定
     */
    function class_bind() {
        var data2;
        $.ajax({
            type: "post",
            url: "studentaction.action?methodName=cfind",
            dataType: "json",
            data: {//传给servlet的数据,
                d: new Date()
            },
            async: false,//加上这个ajax先执行
            success: function (data) {
                //返回处理的方法
                data2 = data;
            }
        });
        return data2;
    }

    /**
     * 教员数据绑定
     */
    function teacher_bind() {
        var data2;
        $.ajax({
            type: "post",
            url: "studentaction.action?methodName=tfind",
            dataType: "json",
            data: {//传给servlet的数据,
                d: new Date()
            },
            async: false,//加上这个ajax先执行
            success: function (data) {
                //返回处理的方法
                data2 = data;
            }
        });
        return data2;
    }

    /**
     * 添加和修改
     */
    function add(index) {
        var ur = "studentaction.action?methodName=add";
        if (index == 'edit') {
            ur = "studentaction.action?methodName=edit";
        }
        $.ajax({
            type: "post",
            url: ur,
            dataType: "json",
            data: {//传给servlet的数据,
                id: $('#hid').val(),
                name: $('#ename').val(),
                classid: $('#eclassid').val(),
                teacherid: $('#eteacherid').val(),
                d: new Date()
            },
            async: false,//加上这个ajax先执行
            success: function (data) {
                if (data) {
                    alert('操作成功');
                    $('#index').show();
                    $('#edit').hide();
                    $('#hid').val("");
                    $('#ename').val("");
                    $('#eclassid').val("");
                    $('#eteacherid').val("");
                } else {
                    alert('操作失败')
                }
            }
        });

    }

    /**
     * 删除
     */
    function remove(id) {
        $.ajax({
            type: "post",
            url: "studentaction.action?methodName=remove",
            dataType: "json",
            data: {//传给servlet的数据,
                id: id,
                d: new Date()
            },
            async: false,//加上这个ajax先执行
            success: function (data) {
                //返回处理的方法
                if (data) {
                    alert('删除成功')
                } else {
                    alert('删除失败');
                }
            }
        });
    }

</script>
</body>
</html>

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值