jquery综合练习--模态对话框传值,删除,新增表格行

效果示例:

个人的练习代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <style>
        body{
            margin: 0;
            padding: 0;
        }

        .cover{
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #b0b0b0;
            opacity: 0.4;
            z-index: 2;
        }

        .modal{
            width: 500px;
            height: 400px;
            position: fixed;
            z-index: 3;
            background-color: white;
            left: 50%;
            top: 40%;
            margin-left: -250px;
            margin-top: -200px;

        }

        .hide{
            display: none;
        }
    </style>
</head>
<body>
<div class="cover hide"></div>

<div class="modal hide">
    <div>
        <label for="name">姓名</label><input type="text" id="name">
    </div>
    <div>
        <label for="hobby">爱好</label><input type="text" id="hobby">
    </div>
    <button id="cancel">取消</button>
    <button id="submit">提交</button>
</div>

<button id="add">新增</button>

<table border="1">
    <thead>
    <tr>
        <td>#</td>
        <td>姓名</td>
        <td>爱好</td>
        <td colspan="2" style="text-align: center">操作</td>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox"></td>
        <td>小明</td>
        <td id="t1">抽烟,喝酒,烫头</td>
        <td><button class="move">删除</button></td>
        <td><button class="edit">编辑</button></td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>贝吉塔</td>
        <td>修行,找布尔玛吃东西</td>
        <td><button class="move">删除</button></td>
        <td><button class="edit">编辑</button></td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>孙悟空</td>
        <td>吃饭去界王星修炼</td>
        <td><button class="move">删除</button></td>
        <td><button class="edit">编辑</button></td>
    </tr>
    </tbody>
</table>

<script>

    // 新增按钮
    $("#add").click(function () {

        $("#name,#hobby").prop("value","");
        $(".cover,.modal").removeClass("hide");
    });

    // 取消按钮
    $("#cancel").click(function () {
        $(".cover,.modal").addClass("hide");
    });

    //删除行,用到事件委托,主要是因为新增的行不会自动添加按钮事件
    $("tbody").on("click",".move",function () {
        $(this).parent().parent().remove();
    });

    //提交
    $("#submit").click(function () {

        var name = $("#name").val();
        var hobby = $("#hobby").val();

        if($("#submit").data("k")){
            bt_edit = $("#submit").data("k");
            bt_edit.parent().prev().prev().prev().text(name);
            bt_edit.parent().prev().prev().text(hobby);
        }else{
            var s = "<tr>" +
            "        <td><input type=\"checkbox\"></td>" +
            "        <td>"+name+"</td>" +
            "        <td>"+hobby+"</td>" +
            "        <td><button class=\"move\">删除</button></td>" +
            "<td><button>编辑</button></td></tr>";
            $("tbody").append(s);

        }
        $(".cover,.modal").addClass("hide");
        $("#submit").data("k","");

    });

    //编辑
    $("tbody").on("click",".edit",function () {
        //设定一个标志位
        $("#submit").data("k",$(this));
        var name = $(this).parent().prev().prev().prev().text();
        var hobby = $(this).parent().prev().prev().text();
        console.log(name);
        $("#name").val(name);
        $("#hobby").val(hobby);
        $(".cover,.modal").removeClass("hide");

    })
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/robertx/p/10398208.html

时间: 2024-10-09 10:59:15

jquery综合练习--模态对话框传值,删除,新增表格行的相关文章

基于bootstrup的jQuery多功能模态对话框

这是一款非常实用的基于bootstrup的jQuery多功能模态对话框插件.该jQuery模态对话框集警告框.确认框和对话框于一体.是一款不可多得的多功能.多用途的模态对话框插件. 它的主要特点有: 可以通过AJAX直接将调用内容到对话框中. 可以在指定的时间后自动关闭对话框. 可以设置为点击模态背景不关闭对话框. 拥有丰富的回调函数. 在线演示:http://www.htmleaf.com/Demo/201502141378.html 下载地址:http://www.htmleaf.com/j

javascript添加或者删除table表格行代码实例

javascript添加或者删除table表格行代码实例:表格是常用的元素,虽然在布局中已经鲜有使用,已经基本被div css所取代,但是在组织表格数据方面还是有很大的优势的,比使用div css要来的方便,添加或者删除一行也就是其中的tr更是最为常见的操作,下面就通过代码实例简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta

jQuery学习笔记(6)--复选框控制表格行高亮

1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head runat="server"> 3 <title></title> 4 <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 5 <style ty

Jquery table元素操作-创建|数据填充|重置|隐藏行

1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param parentElement html元素,表格插入至此元素中 */ function createTable(label, data, parentElement) { //创建表格 var table = $("<table> </table>"); //也可以为

Jquery 模态对话框 数据传递问题

昨天在用bootstrap 和 jquery 做网页的模态对话框时, 可以通过按钮的设置传递参数到模态对话框. 效果可参考链接: http://v3.bootcss.com/javascript/#modals-related-target 上面的例子中 嵌入了 jquery.min.js  和 docs.min.js 两个js文件 , 传递参数的js函数是在doc中实现的 如果要做自己的form表单传递很多参数 则需要修改js 函数. 具体步骤如下: 1. button 参数 <button

【精品推荐】web开发人员应该知道的31个jQuery模态对话框

在网站开发中经常会用到模态窗口,如果直接利用javascirpt的window.showModalDialog()打开一个模式窗口,虽然实现了模式窗口的功能,但十分的不好看.当我们遇到这样的需求时很多人会从网上寻找这些jQuery的模态对话框,有时候搜索了很多,但都不是很合适,那为什么人们喜欢模态窗口呢?那模态窗口到底有什么优点呢? 当一个模态窗口包含一个较小的元素时,用户并不需要加载一个完成的全新新页面就可以访问它.(达到同样效果的另一种方式来是使用基于AJAX的标签) . 通过模态窗口,您提

Django-website 程序案例系列-5 模态对话框实现提交数据

html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .hide{ #隐藏效果 display: none; } .shade{ #模态框遮蔽层效果 position: fixed; top: 0; right: 0; left: 0; b

大三在校生的传智120天的1200小时.net(十四) 关于easyUI的模态对话框

会用easyUI的模态对话框会是我们的开发更加简洁,只需下载这个插件,把需要的文件拖到项目中,下面展示一个easyUI的模态对话框,以及使用方法和属性.这里是一个常用功能小展示,试试上easyUI自带的说明文档非常全面,*****学会查看文档很重要,看几次就会熟练***** <script type="text/javascript" src="../Script/jquery-1.8.3.js"></script> <script s

Bootstrap 模态对话框只加载一次 remote 数据的解决办法

前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹出的时候就会自动从这个地址加载数据到 .modal-body 中,但是它只会加载一次,不过通过在事件中调用 removeData() 方法可以解决这个问题. Bootstrap modals dialog hidden removeData 目录[-] 1. Bootstrap 模态对话框和简单使用 2. 使用 remote 选项让模态对话框加载页面到 .modal-body 中 2.1