js设置表头可编辑

打开vscode建立一个测试页面,临时叫做 JsTable.html,用于演示js若何设置表头可编纂。若是没有vscode,利用其他编纂东西也是一样的

  • 2

    为了js操作的便当性,本文引入jquery进行js操作。先将jquery源文件下载到 JsTable.html 同级目次,然后在html页面中引入jquery

  • 3

    在测试页面中,添加一个table表格,设置table表格的边框,此时table表格是只读的,不克不及编纂的

  • 4

    在测试页面的底部,添加js代码,绑心猿意马table表头的点击事务,当点击表头区域的时辰将单位格替代当作input标签

    // 绑心猿意马表格表头单位格的点击事务

    $("#tblDemo thead th").on("click", function(event){

        var $th = $(this);

        // 若是th中已经有文本框了,就不处置这个事务了

        var $input = $th.find("input");

        if($input.length > 0){

            return false;

        }

        // 若是th中没有文本框,就获取值,添加文本框

        var val = $th.text();

        $th.html("<input type='text' value='" + val + "'/>");

        // 阻止事务冒泡

        event.stopPropagation();

    });

  • 5

    绑心猿意马页面document的点击事务,当点击表头之外的处所时,去失落表头字段的编纂状况,恢复只读状况。请注重,此处的演示仅仅只在界面操作,并没有保留数据库,假设需要更新到数据库,可以利用ajax的体例将变动后的值提交到数据库即可

    // 绑心猿意马页面的点击事务,点击页面任何处所都将表头的编纂状况去失落

    $(document).on("click", function(){

        $("#tblDemo thead th input").each(function(){

            var $input = $(this);

            var $th = $input.parent("th:first");

            $th.text($input.val());

        });

    });

  • 6

    在浏览器中打开测试页面,默认看到的列表是只读的,当点击表头区域的时辰,对应的单位格就会酿成文本框可编纂状况

  • 7

    在编纂框内输入新的值,然后,点击表头之外的任何处所,就能将点窜后的值显示在题目中,而且看起来是只读状况,再次点击又可以编纂了

    • 发表于 2019-08-10 18:07
    • 阅读 ( 725 )
    • 分类:其他类型

    你可能感兴趣的文章

    相关问题

    0 条评论

    请先 登录 后评论
    联系我们:uytrv@hotmail.com 问答工具