博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

作业:资产表添加删除修改

Posted on 2018-09-07 23:06  alex_hrg  阅读(188)  评论(0编辑  收藏  举报

实现:有一个表格可以选多台机,删除,也可以进入编辑模式修改内容,退出保存,在编辑模式下,可以勾选某台机,来修改,取消保存。有添加功能,添加的也能操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        select{
            border: 0;
        }
        .hide{
            display: none;
        }
        .zhezhao{
            z-index: 99;
            position: fixed;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: black;
            opacity: 0.6;
        }
        .motai{
            width: 500px;
            height: 300px;
            position: fixed;
            background-color: white;
            left: 50%;
            top: 50%;
            margin-left: -250px;
            margin-top: -150px;
            z-index: 100;

        }
    </style>
</head>
<body>
<div class="zhezhao hide"></div>
<div class="motai hide">
    <table id="tb2" border="1">
        <thead><tr><th>IP</th><th>端口</th><th>操作</th></tr></thead>
        <tr><td><input target="ip" type="text" value=""></td><td><input target="port" type="text" value=""></td><td><a id="submit">确定</a>|<a id="cancel">取消</a></td></tr>
    </table>
</div>
<div style="margin: 0 auto;width: 500px;height: 800px;">
<input type="button" value="添加" onclick="addTr();"/>
<input type="button" value="删除" onclick="delTr();"/>
<input type="button" value="全选" onclick="selectAll();"/>
<input type="button" value="反选" onclick="reverseAll();"/>
<input type="button" value="取消" onclick="cancelAll();"/>
<span id="Edit" style="background: orange;">进入编辑模式</span>
<table id="tb1" border="1">
    <thead>
        <tr><th>选择</th><th>IP</th><th>端口</th><th>状态</th></tr>
    </thead>
    <tbody>
        <tr><td target="checkbox"><input type="checkbox"/></td><td target="ip">1.1.1.1</td><td target="port">80</td><td><select disabled="disabled"><option>上线</option><option>下线</option></select></td></tr>
        <tr><td target="checkbox"><input type="checkbox"/></td><td target="ip">1.1.1.2</td><td target="port">81</td><td><select disabled="disabled"><option>上线</option><option>下线</option></select></td></tr>
        <tr><td target="checkbox"><input type="checkbox"/></td><td target="ip">1.1.1.3</td><td target="port">82</td><td><select disabled="disabled"><option>上线</option><option>下线</option></select></td></tr>
        <tr><td target="checkbox"><input type="checkbox"/></td><td target="ip">1.1.1.4</td><td target="port">83</td><td><select disabled="disabled"><option>上线</option><option>下线</option></select></td></tr>
    </tbody>
</table>
</div>


<script src="jquery-3.3.1.js"></script>
<script>
    function selectAll() {
        $('#tb1').find(':checkbox').prop('checked',true);
    }
    function reverseAll() {
        $('#tb1').find(':checkbox').each(function () {
            if($(this).prop('checked')){
                $(this).prop('checked',false);
            }else {
                $(this).prop('checked',true);
            }
        });
    }
    function cancelAll() {
        $('#tb1').find(':checkbox').prop('checked',false);
    }
    function delTr() {
        $('#tb1 :checkbox').each(function () {
            if($(this).prop('checked')){
                $(this).parent().parent().remove();
            }
        });
    }

//--------------------添加功能开始-------------------------
    function addTr() {
        $('.zhezhao,.motai').removeClass('hide');
    }
    $('#tb2 #submit').click(function () {
        var ip = $('#tb2 input[target="ip"]').val();
        var port = $('#tb2 input[target="port"]').val();
        var tag = '<tr><td target="checkbox"><input type="checkbox"/></td><td target="ip">'+ip+'</td><td target="port">'+port+'</td><td><select disabled="disabled"><option>上线</option><option>下线</option></select></td></tr>'
        $('#tb1 tbody').append(tag);
        $('.motai,.zhezhao').addClass('hide');
    });
    $('#tb2 #cancel').click(function () {
        $('.zhezhao').addClass('hide');
        $('.motai').addClass('hide');
    });
//--------------------添加功能结束-------------------------
//--------------------编辑功能结束-------------------------
    function unlock(self) {
        $(self).parent().siblings().find('select').attr('disabled',false);  //开启select
        var ip=$(self).parent().siblings('[target="ip"]');
        var port=$(self).parent().siblings('[target="port"]');
        var ipText=$(ip).text();   //记录ip值
        var portText=$(port).text();   //记录端口值
        $(ip).empty();   //清空ip值在其中加输入框,并填入ip值
        $(port).empty();
        var portNew=document.createElement('input');
        $(portNew).attr('type','text');
        $(portNew).attr('value',portText);
        $(port).append(portNew);
        var ipNew=document.createElement('input');
        $(ipNew).attr('type','text');
        $(ipNew).attr('value',ipText);
        $(ip).append(ipNew);
    }
    function lock(self) {
        $(self).parent().siblings().find('select').attr('disabled',true);
        var ip=$(self).parent().siblings('[target="ip"]').find('input');
        var port=$(self).parent().siblings('[target="port"]').find('input');
        var ipText=$(ip).val();   //记录ip值
        var portText=$(port).val();   //记录端口值
        console.log(ipText,portText);
        $(ip).remove();   //删除ip值在其中加输入框,并填入ip值
        $(port).remove();
        $(self).parent().siblings('[target="ip"]').text(ipText);
        $(self).parent().siblings('[target="port"]').text(portText);
    }
    $('#Edit').click(function () {
        if($(this).text()=="进入编辑模式"){
            $(this).text("退出编辑模式").css('background','green');
            var tds=$('#tb1').find('input[type="checkbox"]:checked');
            $(tds).each(function () {
                unlock(this);
            });
        }else{
            $(this).text("进入编辑模式").css('background','orange');
            var tds=$('#tb1').find('input[type="checkbox"]:checked');
            $(tds).each(function () {
                lock(this);
            });
        }
    });
    // 在编辑模式下,勾选复选框,可以编辑,去掉保存
    $('#tb1').delegate(':checkbox','click',function () {
        if($('#Edit').text()=="退出编辑模式"){
            if($(this).prop('checked')){
                unlock(this);
            }else {
                lock(this);
            }
        }
    });

//--------------------编辑功能结束-------------------------
</script>
</body>
</html>