jQuery 作业三个按钮


作业三个按钮
<!--声明 文档-->
<!DOCTYPE html>
<!--定义字符集-->
<html lang="zh-CN">
<head>
    <!--定义编码格式-->
    <meta charset="UTF-8">
   <!--如果网页打不开设置显示内容,并跳转链接-->
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <!--设置标题-->
    <title>就三个按钮的作业讲解</title>
     <!--为了确保适当的绘制和触屏缩放,需要在head标签中添加viewport"元素数据标签-->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!--设置风格-->
    <style>

        /*隐藏的样式类,默认不显示*/
        .hide {
            display: none;
        }

        /*遮罩层,隐藏的,位置固定,顶部,右边左边,下边,透明度,垂直高度*/
        .cover {
            position: fixed;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            background-color: black;
            opacity: 0.8;
            z-index: 999;
        }
        /*形式的,位置固定,顶部,左边,高度,宽度,外边距顶部,外边距左边 ,背景颜色,垂直高度*/
        .modal {
            position: fixed;
            top: 50%;
            left: 50%;
            height: 200px;
            width: 400px;
            margin-top: -100px;
            margin-left: -200px;
            background-color: white;
            z-index: 1000;
        }
    </style>
</head>
<body>

<!--新增按钮-->
<button id="add">新增</button>

<!--表格-->
<table border="1">
    <!--表头-->
    <thead>
    <tr>
        <!--表头数据-->
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
        <th>操作</th>
    </tr>
    </thead>
    <!--表主内容-->
    <tbody>
    <tr>
        <!--表内容的数据-->
        <td>1</td>
        <td>Egon</td>
        <td>街舞</td>
        <td>
            <!--设置编辑按钮和删除按钮-->
            <button class="edit-btn">编辑</button>
            <button class="delete-btn">删除</button>
        </td>
    </tr>
    <tr>
        <!--表内容的数据-->
        <td>2</td>
        <td>Alex</td>
        <td>烫头</td>
        <td>
            <!--设置编辑按钮和删除按钮-->
            <button class="edit-btn">编辑</button>
            <button class="delete-btn">删除</button>
        </td>
    </tr>
    <tr>
        <!--表内容的数据-->
        <td>3</td>
        <td>苑局</td>
        <td>日天</td>
        <td>
            <!--设置编辑按钮和删除按钮-->
            <button class="edit-btn">编辑</button>
            <button class="delete-btn">删除</button>
        </td>
    </tr>
    </tbody>
</table>

<!--div模块-->
<div id="myCover" class="cover hide"></div>
<!--内部div模块-->
<div id="myModal" class="modal hide">
    <div>
        <p>
            <!--使input标签不变黄-->
            <label for="modal-name">姓名</label>
            <input type="text" id="modal-name">
        </p>
        <p>
            <!--使input标签不变黄-->
            <label for="modal-hobby">爱好</label>
            <input type="text" id="modal-hobby">
        </p>
        <p>
            <!--提交和取消按钮-->
            <button id="modal-submit">提交</button>
            <button id="modal-cancel">取消</button>
        </p>
    </div>
</div>

<!--引入jquery-3.3.1.js-->
<script src="jquery-3.3.1.js"></script>
<script>

    // 弹出模态框的函数
    function showModal() {
        // 把模态框显示出来
        $("#myCover, #myModal").removeClass("hide");
    }

    // 隐藏模态框的函数
    function hideModal() {
        // 把模态框隐藏起来
        $("#myCover, #myModal").addClass("hide");
        // 清空模态框中input标签的值
        $("#modal-name, #modal-hobby").val("");
    }

    // 新增按钮绑定事件
    $("#add").on("click", function () {
        showModal();
    });

    // 给模态框中的取消按钮绑定事件
    $("#modal-cancel").on("click", function () {
        hideModal();
    });
var $table = $("table");
    // 表格中每一行的删除按钮,绑定事件
    $table.on("click", ".delete-btn", function () {
        // 更新表格中当前行后面每一行的序号
        // 找到当前行后面的每一行
        $(this).parent().parent().nextAll().each(function () {
            // each中的this和外面的this不一样了!
            var num = $(this).children().first().text();
            $(this).children().first().text(num-1);
        });
        // 找到当前行,删除
        $(this).parent().parent().remove();
    });
// 编辑按钮绑定事件
    $table.on("click", ".edit-btn", function () {
        // 显示模态框
        showModal();
        // 把原来的内容填充到模态框中
        // 取到当前编辑的这一行
        var $currentTr = $(this).parent().parent();
        // 将当前编辑行保存到模态框对象中
        $("#myModal").data("key", $currentTr);
        // 1. 取值
        var name = $currentTr.children().eq(1).text();
        var hobby = $currentTr.children().eq(2).text();
        // 填充到模态框
        $("#modal-name").val(name);
        $("#modal-hobby").val(hobby);
    });

    // 点击模态框中的提交按钮
    $("#modal-submit").on("click", function () {
         // 获取模态框中input的值
        var name = $("#modal-name").val();
        var hobby = $("#modal-hobby").val();

        // 如何区分是编辑还是新增
        var $tr = $("#myModal").data("key");

        if ($tr !== undefined){  // 可以简写,这里是为了引出来好理解
            // 是编辑操作
            $tr.children().eq(1).text(name);
            $tr.children().eq(2).text(hobby);
            // 编辑完之后要把之前保存的data删掉
            $("#myModal").removeData("key");
        }else {
            // 就是新增操作
            // 创建一个新的tr标签
            var newTr = document.createElement("tr");
            // 塞td标签
            var num = $("table tr").length;
            var eleStr = "<td>" + num + "</td>";
            eleStr += "<td>" + name + "</td>";
            eleStr += "<td>" + hobby + "</td>";
            eleStr += "<td>" + ‘<button class="edit-btn">编辑</button> <button class="delete-btn">删除</button>‘ + "</td>";
            newTr.innerHTML = eleStr;
            // 将新创建的tr标签追加到table里
            $("tbody").append(newTr);
        }
        // 隐藏模态框
        hideModal();
    })
</script>
</body>
</html>


原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/8930848.html

时间: 2024-07-31 05:30:40

jQuery 作业三个按钮的相关文章

jquery ajax 在submit按钮的click处理中应注意的地方

html文件: <form action="/index.php/welcome/personpost"> ................ <input type="submit" id="personsub"  value="提交" /> </form> js文件: $(document).ready(function() { $("#personsub").live

js小练习——页面实现重置、反选、全选三个按钮的功能

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>页面上有10个多选框,实现三个按钮(重置.反选.全选)功能</title></head><body><input type="checkbox"><input type="checkbox&

js中confirm揭示三个按钮“是”“否”“取消”

js中confirm提示三个按钮"是""否""取消" 重载DOM中confirm window.confirm = function(str) {   str=str.replace(/\'/g, "'&chr(39)&'").replace(/\r\n|\n|\r/g, "'&VBCrLf&'");   execScript("n = msgbox('"

jquery实现点击按钮弹出层和点击空白处隐藏层

昨天做项目遇到一个问题,和大家分享下,jquery实现点击按钮弹出层和点击空白处隐藏层的问题 if($('.autoBtn').length){                $('.autoBtn').find('.assess').unbind().bind('click',function(event){                    //取消事件冒泡                      event.stopPropagation(); if($('.abtnBox').is

分享一款基于jquery的圆形动画按钮

之前为大家介绍过一款纯css3实现的圆形旋转分享按钮.今天要给大家带来一款基于jquery的圆形动画按钮.这款按钮鼠标经过的时候以边框转圈,然后逐渐消息,在实例中给出了四种颜色的demo.效果图如下: 在线预览   源码下载 实现的代码. html代码: <figure class='red'> <div class='icon'> i</div> <div class='circle'> </div> </figure> <f

锋利的jQuery第三章

现在开始学习第三章,jQuery中的Dom操作. 以前我也看过w3school的dom,看过了很迷,不知道dom是什么. 1,dom是文档对象模型,dom操作分为3类:Dom Core(核心),HTML-DOM,CSS-DOM (1)Dom Core(核心):主要有getElementById(),getElementByTagName(),getAttribute()和setAttribute()等方法. (2)HTML-DOM:如 document.forms //取得forms对象; el

强大的JQuery(三)--操作html与遍历

前两篇博客讲到了JQuery的基础知识以及其动画效果,本篇将为大家介绍jquery操纵html以及jquery的遍历. 一.jquery操作html 1.获取内容和属性 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 attr()- 方法用于获取属性值. 实例: <span style="font-size:18px;">$("#btn1").cl

第三章 按钮控件的创建

一.前言 不知不觉一晃两个月过去,说来惭愧,在此期间alterto一直没有再研究DuiEngine.主要是因为DuiEngine的作者现在构建一个新的界面库soui,而笔者也一直处于观望状态,因为DuiEngine的作者说了以后可能就不维护DuiEngine了,要把主要的经历放在SOUI上.alterto顿时犹豫了,既然这样我还为DuiEngine做什么教程啊.于是这两个月的时间里一直都很犹豫,也没有再出DuiEngine相关的教程.现在看来这种焦躁对于一个优秀的程序猿来说着实不应该,这也正暴露

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现

大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三 Q18-20的C++实现.虽然有很多大神已经在很多博客中给出了Phython的实现,但是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码虽然能够得到正确答案,但是其中可能有某些思想或者细节是错误的,如果各位博友发现,请及时留言纠正,谢谢!再次声明,博主提供实现代码的原因不是为了让各位通过测试,而是为学习有困难的同学提供