jquery实现增删改(伪)-老男孩作业day13

使用jquery进行,文件的编写,实现自增id,删除,添加,编辑模式。
jquery放在本地,src="jquery_js.js" 可以改成其他,或者在线的路径
readme
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹出输入,增删改查</title>
    <script src="jquery_js.js"></script>
    <style>
        .under{
            height: 1000px;
            background-color: white;
        }

        .add{
            width: 100%;
            background-color: white;
            height:1000px;
            opacity: 0.8;      /*透明度的问题,加跟北京一样的颜色,覆盖掉最底部的颜色,然后调透明度。*/
            /*position: fixed;*/
            /*margin-top: 0px;*/
            top: 0px;
            position: fixed;
            z-index: 778;
        }
        .hide{
            display:none;
        }
        #f{
            position: fixed;
            top: 50%;
            left: 50%;
            z-index: 888;
            background-color: white;
            opacity: 1;

        }

        #f p{


        }

    </style>
</head>
<body>
<div class="under">
    <div class="z1"><button type="button">新增</button></div>
    <table border="1">
        <thead>
            <tr>
                <td>#</td>
                <td>姓名</td>
                <td>爱好</td>
                <td>操作</td>
            </tr>

        </thead>
        <tbody class="tbody">
            <tr class="test">
                <td class="fix">1</td>
                <td >周奕明</td>
                <td>play</td>
                <td><button class="edit" type="button">编辑</button>
               <button class="del">删除</button></td>


        </tbody>



    </table>
</div>
<div class="add hide">
    <form id="f" action="">
        <p>名字:<input type="text" value=""></p>


        <p>爱好:<input type="text" value=""></p>

        <!--<button class="put_up" style="margin-left:30px " type="button">提交</button>-->
        <button class="put_up" style="margin-left:30px " type="button" value="提交">提交</button>

        <button class="clear" style="margin-left: 20px" type="button">清空</button>
        <button class="quit" style="margin-left: 20px">退出</button>

    </form>
</div>




<script>
    <!--新增的函数-->
    $('.z1 button').click(function () {
        $('.add').removeClass('hide');
    })
//    提交的函数,新增
    $('.put_up').click(function () {
        var user_put = $($('.add input')[0]).prop('value')
        var hobby_put =  $($('.add input')[1]).prop('value')
        var arr=[];
            arr.push(user_put)
            arr.push(hobby_put)


         num2 = $('.tbody tr').length
        s= '<tr> <td class="fix">num</td> <td>user</td> <td>hobby</td> <td> <button class="edit" type="button">编辑</button> <button class="del">删除</button> </td></tr>'
        s= s.replace('num',num2+1)
        s= s.replace('user',user_put)
        s=s.replace('hobby',hobby_put)
        $('.add').addClass('hide')
        $('.tbody').append(s)
        edit()                //这时候由于绑定是在定义的时候发生的,所以需要重新执行一下
        del()

    })

//    清空的函数
    $('.clear').click(function () {
            $('.add input').prop('value','');


    })

//    退出的函数
    $('.quit').click(function () {
        $('.add').addClass('hide');

    })

//编辑

    function edit() {

     $('.edit').click(function () {
            console.log($('.edit'))
            console.log(this)
            fix = $('.fix')
            console.log($(this).parent().prevUntil(fix,'td'))  //!!fix是dom对象或者jquery对象,td是属性的标签,until不包含尾部
            temp = $(this).parent().prevUntil(fix,'td')
            temp.html('<input type="text">')
        })}
        edit()
//删除
    function del() {
        $('.del').click(function () {
            console.log($(this).parent().parent())
            console.log( $('.tbody'))
            $(this).parent().parent().remove()   //删除标签
//            $('.tbody').remove($(this).parent().parent())
//            $('tr').remove('$(this).parent().parent()');
//            console.log($(this).parent().parent())
            so_rt()
        })

    }

    function so_rt() {
        for (var k=0;k<$('.fix').length;k++){
            $($('.fix')[k]).text(k+1)   //双$$符的用途,因为取出的是一个组的形式,拿出的是dom对象,然后在jquery
            console.log('start_sort')
        }
    }


//        del()



</script>



</body>
</html>

<!--比较麻烦的点在于,1.添加的时候的自增id的问题,2.添加的时候,将你想要添加的节点做成模版的状态,之后在向里面传值,3.设置隐藏之类的属性的时候,
先定义一个类,在script内写命令,将这个类添加到想获得这个属性的classlist中,4,在改的时候,将元素类型切换,变成input形式-->

<!--在进行自增id功能的实现的时候,开始构想的是查找#标签的数量,然后添加的时候进行+1操作,但是在进行删除操作的时候,一旦删除中间的那个,之后添加会出现相同id的情况-->
<!--想法一:在添加操作中,for循环剔除重复的id,然后进行重新排序.这种id可以不变,这种(暂时没有搞)-->
<!--想法二:直接将序号列,重新排序,在删除,添加操作之后.这种id变化。#
View Code

 

转载于:https://www.cnblogs.com/taozizainali/p/8629138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值