zoukankan      html  css  js  c++  java
  • 面向对象案列

    <!DOCTYPE html>
    <html lang="en">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css">
    </head>

    <body>
    <section class="container">
    <h2 class="text-center">学生信息表</h2>
    <!-- 表单 -->
    <form class="form-horizontal">
    <div class="form-group">
    <label for="inputName" class="col-sm-3 col-sm-offset-1 control-label">学生姓名:</label>
    <div class="col-sm-5">
    <input type="text" class="form-control" id="inputName" placeholder="学生姓名">
    </div>
    </div>
    <!-- form-group充当的就是row -->
    <div class="form-group">
    <label for="inputPhone" class="col-sm-3 col-sm-offset-1 control-label">联系方式:</label>
    <div class="col-sm-5">
    <input type="text" class="form-control" id="inputPhone" placeholder="联系方式">
    </div>
    </div>
    <div class="form-group">
    <div class="col-sm-12 text-center">
    <button type="button" class="btn btn-success" id="addStuInfoBtn">
    <span class="glyphicon glyphicon-plus"></span>&nbsp;添加信息
    </button>
    <button type="button" class="btn btn-warning" id="confirEditBtn" style="display:none">
    <span class="glyphicon glyphicon-ok"></span>&nbsp;确认编辑
    </button>
    </div>
    </div>
    </form>
    <!-- 表格 -->
    <table class="table table-hover" id="table">
    <thead>
    <tr>
    <th class="text-center col-sm-3">学号</th>
    <th class="text-center col-sm-3">学生姓名</th>
    <th class="text-center col-sm-3">联系方式</th>
    <th class="text-center col-sm-3">操作</th>
    </tr>
    </thead>
    <tbody id="showData"></tbody>
    </table>
    <div class="alert alert-warning text-center" role="alert" id="warning" style="display:none">暂无数据......</div>
    <!-- 模态框 -->
    <div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-sm" role="document">
    <div class="modal-content">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title text-danger" id="tips">您确定要删除吗???</h4>
    </div>
    <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
    <button type="button" class="btn btn-primary btn-danger" data-dismiss="modal" id="confimBtn">确定</button>
    </div>
    </div>
    </div>
    </div>

    </section>
    </body>
    <script src="lib/jquery/jquery.min-v1.js"></script>
    <script src="lib/bootstrap/js/bootstrap.min.js"></script>
    <script src="js/main.js"></script>

    </html>
    js代码:
    (function ($) {
    var data = [{
    id: 'ID1505043900575',
    name: '小黑',
    phone: 1232222
    },
    {
    id: 'ID1505043903711',
    name: '小白',
    phone: 1233333
    },
    {
    id: 'ID1505043906767',
    name: '小花',
    phone: 1234444
    },
    {
    id: 'ID1505043941174',
    name: '小小',
    phone: 1235555
    }
    ];

    function OperateData(data) {
    this.data = data;
    }
    OperateData.prototype = {
    constructor: OperateData,
    addData: function (name, phone) {
    var data = {
    id: 'ID' + new Date().getTime(),
    name: name,
    phone: phone
    };
    this.data.push(data);
    CreateDom.prototype.creaTr.apply(this);
    },
    delData: function (index) {
    this.data.splice(index, 1);
    CreateDom.prototype.creaTr.apply(this);
    return this.data.length;
    },
    editData: function (index, id, name, phone) {
    this.data[index] = {
    id: id,
    name: name,
    phone: phone
    };
    CreateDom.prototype.creaTr.apply(this);
    },
    clearData: function () {
    this.data = [];
    CreateDom.prototype.creaTr.apply(this);
    }
    }

    function CreateDom(data) {
    this.data = data;
    }
    CreateDom.prototype.creaTr = function () {
    var str = '';
    for (var i = 0; i < this.data.length; i++) {
    str += '<tr class="text-center">';
    str += '<th class="text-center">' + this.data[i].id + '</th>';
    str += '<td>' + this.data[i].name + '</td>';
    str += '<td>' + this.data[i].phone + '</td>';
    str += '<td><button type="button" class="btn btn-default btn-sm btn-edit">';
    str += '<span class="glyphicon glyphicon-edit"></span>&nbsp;编辑</button>&nbsp;';
    str += '<button type="button" class="btn btn-default btn-sm btn-del" data-toggle="modal" data-target=".bs-example-modal-sm">';
    str += '<span class="glyphicon glyphicon-remove-sign"></span>&nbsp;删除';
    str += '</button></td>';
    }
    str += '<tr><td colspan="3"></td><td class="text-center">';
    str += '<button type="button" class="btn btn-danger btn-trash" data-toggle="modal" data-target=".bs-example-modal-sm">';
    str += '<span class="glyphicon glyphicon-trash"></span>&nbsp;清空</button>';
    str += '</td></tr>';
    $('#showData').html(str);
    };

    var index = 0;
    $(function () {
    var tr = new CreateDom(data);
    var oper = new OperateData(data);
    tr.creaTr();

    $('#addStuInfoBtn').on('click', function () {
    var _name = $('#inputName').val();
    var _phone = $('#inputPhone').val();
    oper.addData(_name, _phone);
    $('#inputName').val('');
    $('#inputPhone').val('');
    $('#table').show();
    $('#warning').hide();
    });

    $('#showData').on('click', '.btn-del', function () {
    index = $(this).parent().parent().index();
    $('#tips').text('您确定要删除吗???');
    showOrHide();
    });



    $('#showData').on('click', '.btn-edit', function () {
    index = $(this).parent().parent().index();
    var _phone = $(this).parent().prev().text();
    var _name = $(this).parent().prev().prev().text();
    $('#inputName').val(_name);
    $('#inputPhone').val(_phone);
    $('#addStuInfoBtn').hide();
    $('#confirEditBtn').show();
    });

    $('#confirEditBtn').on('click', function () {
    var _id = 'ID' + new Date().getTime();
    var _name = $('#inputName').val();
    var _phone = $('#inputPhone').val();
    oper.editData(index, _id, _name, _phone);
    showOrHide();
    });

    $('#showData').on('click', '.btn-trash', function () {
    index = -2;
    $('#tips').text('您确定要清空吗???');
    showOrHide();
    });

    $('#confimBtn').on('click', function () {
    if (index === -2) {
    oper.clearData();
    $('#table').hide();
    $('#warning').show();
    return;
    }
    var len = oper.delData(index);
    if (!len) {
    $('#table').hide();
    $('#warning').show();
    }
    });

    function showOrHide() {
    $('#addStuInfoBtn').show();
    $('#confirEditBtn').hide();
    $('#inputName').val('');
    $('#inputPhone').val('');
    }
    })
    })(jQuery);
  • 相关阅读:
    检测当前浏览器及版本
    js 实现两个小数的相乘、相除功能
    echarts图表初始大小问题及echarts随窗口变化自适应
    element-ui走马灯如何实现图片自适应 长度和高度 自适应屏幕大小
    vue中淡入淡出示例
    CSS3------box-shadow,即单边阴影效果设置
    webpack4 自学笔记五(tree-shaking)
    webpack4 自学笔记四(style-loader)
    webpack4 自学笔记三(提取公用代码)
    webpack4 自学笔记二(typescript的配置)
  • 原文地址:https://www.cnblogs.com/wen936/p/7728399.html
Copyright © 2011-2022 走看看