图书管理模拟

图书管理模拟

效果展示:
在这里插入图片描述

技术栈

html+css+bootstrap+ajax




代码实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="000/bootstrap/bootstrap-3.4.1-dist/css/bootstrap.min.css">
    <script src="000/bootstrap/bootstrap-3.4.1-dist/js/jquery-1.10.2.min.js"></script>
    <script src="000/bootstrap/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            padding: 20px;
        }
    </style>
</head>

<body>
    <!-- 面板 -->
    <div class="panel panel-primary">
        <div class="panel-heading">
            <h3 class="panel-title">图书管理模拟</h3>
        </div>
        <div class="panel-body form-inline">
            <!-- 书籍添加框 -->
            <div class="input-group">
                <div class="input-group-addon">书籍</div>
                <input type="text" class="form-control" id="booknameipt">
            </div>
            <div class="input-group">
                <div class="input-group-addon">作者</div>
                <input type="text" class="form-control" id="authoript">
            </div>
            <div class="input-group">
                <div class="input-group-addon">出版社</div>
                <input type="text" class="form-control" id="publisheript">
            </div>

            <button type="button" class="btn btn-primary" id="btnbox">添加书籍</button>

        </div>
        <!-- 书籍表单 -->
        <table class="table table-bordered table-hover">
            <thead>
                <tr>
                    <th>id</th>
                    <th>书籍</th>
                    <th>作者</th>
                    <th>出版社</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody id="conbox">
            </tbody>
        </table>
    </div>

    <script>
        $(function (params) {
            //数据展示
            function getbooklist() {
                $.get('http://www.liulongbin.top:3006/api/getbooks', function (res) {
                    var arr = [];
                    $.each(res.data, function (i, item) {
                        //数组的追加函数arr.push()
                        arr.push("<tr><td>" + item.id + "</td><td>" + item.bookname + "</td><td>" +
                            item.author + "</td><td>" + item.publisher
                            + "</td><td><a class='del' data-id='" + item.id + "' href='javascript:;'>删除</a></td></tr>");
                    });
                    //将arr展示到ui界面
                    $("#conbox").empty().append(arr.join(''));//将数组按照要求拼成字符串
                });
            }
            //函数调用
            getbooklist();

            //删除操作的实现
            // 注意因为a标签是动态添加上去的,所以不能直接获取进行操作
            //可以通过事件委托,来实现对元素的控制

            $("#conbox").on('click', '.del', function () {
                //this就是a标签
                var id = $(this).attr('data-id');//attr('自定义属性名')
                $.get('http://www.liulongbin.top:3006/api/delbook', { id: id }, function (res) {
                    if (res.status != 200) {
                        return alert('删除失败');
                    }
                    getbooklist();
                })
            });
            //书籍添加
            $("#btnbox").on('click',function (params) {
                var bookname = $("#booknameipt").val().trim();
                var author = $("#authoript").val().trim();
                var publisher = $("#publisheript").val().trim();
                //数据判空
                if(bookname.length<=0||author.length<=0||publisher.length<=0)
                {
                    return alert('请正确输入数据');
                }
                //将拿到数据进行渲染
                $.post('http://www.liulongbin.top:3006/api/addbook',{
                    bookname:bookname,
                    author:author,
                    publisher:publisher
                },function (res) {
                    if(res.status != 201)
                    {
                        return alert('数据添加失败');
                    }
                    getbooklist();
                    //将表单清空
                    $("#booknameipt").val('');
                    $("#authoript").val('');
                    $("#publisheript").val('');//注意再val()用法
                });
            });

        });
    </script>
</body>

</html>

注意bootstrap使用
jquery文件要放在最前面。

注意事项

1,注意字符串的拼接(变量怎么样实现拼接)
在这里插入图片描述单引号和双引号使用,注意不要混淆。

2,关于怎么样将一堆数据加到一个标签里面?

var arr = [];
$.each(res.data, function (i, item) {
//数组的追加函数arr.push()
arr.push("<tr><td>" + item.id + "</td><td>" + item.bookname + "</td><td>" +
item.author + "</td><td>" + item.publisher
 + "</td><td><a class='del' data-id='" + item.id + "' href='javascript:;'>删除</a></td></tr>");
});
//将arr展示到ui界
$("#conbox").empty().append(arr.join(''));//将数组按照要求拼成字符串
                    

首先创建一个数组arr,再将构建好的字符串结构添加到指定位置。

$("").append(需要添加的东西):结构添加;
.empty():置空;
.join(按照这个里面的东西将一个数组转化为一个字符串);

3,关于怎么样删除一行操作实现。
没法对每一个需要删除的东西,可以给它们添加一个属性,然后再根据这个索引来删除。
在这里插入图片描述
在这里插入图片描述4,关于输入框的盘判空处理

输入框再拿数据前都要进行数据判空处理;
具体步骤:

                var bookname = $("#booknameipt").val().trim();
                var author = $("#authoript").val().trim();
                var publisher = $("#publisheript").val().trim();
                //数据判空
                if(bookname.length<=0||author.length<=0||publisher.length<=0)
                {
                    return alert('请正确输入数据');
                }

注意val()函数:

$("").val('') 等价于 dom.value == '';
trim():可以去除一个字符串前后的空字符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值