`
pavel
  • 浏览: 928251 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js添加删除行和双击变文本框

阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>js添加删除行和双击变文本框---阿会楠练习作品</title>
    <style type="text/css">
    *{
        font-size:12px;
    }
    #myTable{
        background:#D5D5D5;
        color:#333333;
    }
    
    #myTable tr{
        background:#F7F7F7;
    }
    #myTable tr th{
        height:20px;
        padding:5px;
    }
    #myTable tr td{
        padding:5px;
    }
    </style>
    <script type="text/javascript">
    function $(obj){
        return document.getElementById(obj);
    }
    
    var num = 0;
    function row(id){
        //构造函数
        this.id = $(id);
    }
    row.prototype = {
        //插入行
        insert:function(){
            num = num + 1;
            var newTr = this.id.insertRow(-1);
            var td_1 = newTr.insertCell(0);
            var td_2 = newTr.insertCell(1);
            var td_3 = newTr.insertCell(2);
            td_1.innerHTML = num;
            td_2.innerHTML = "脚本之家 www.jb51.net";
            td_3.innerHTML = "<input type='button' onclick='delRow(this)' value='删除' >";
        },
        //删除行
        del:function(obj){
            var i = obj.parentNode.parentNode.rowIndex;
            this.id.deleteRow(i);
        }
    }
      
    function addRow(){
        var row2 = new row("myTable");
        row2.insert();
    }
    
    function delRow(obj){ 
        var row1 = new row("myTable");
        row1.del(obj);
    }
    
    var inputItem; // 输入框句柄
    var activeItem; // 保存正在编辑的单元格
    
    //转成文本
    function changeToText(obj){
        if( obj && inputItem ) {
            // 如果存在正在编辑的单元格, 则取消编辑状态, 并将编辑的数据保存起来
            var str = " ";
            if(inputItem.value != "") 
                str = inputItem.value;
            obj.innerText = str;   
        }
    }
    
    //转成编辑
    function changeToEdit(obj){
         if( !inputItem ) {
              inputItem = document.createElement('input');
              inputItem.type = 'text';
              inputItem.style.width = '100%';
         }
        // inputItem.style.display = '';
         inputItem.value = obj.innerText; // 将该单元格的数据文本读到控件上
         obj.innerHTML = ''; // 清空单元格的数据
         obj.appendChild(inputItem);
         inputItem.focus();
         activeItem = obj;
    }
    
    
    //双击时文本变成文本框
    document.ondblclick = function(){
        if(event.srcElement.tagName.toLowerCase() == "td"){
            if(!inputItem){
                inputItem = document.createElement("input");
                inputItem.type = "text";
                inputItem.style.width = "100%";
            }
            changeToText();
            changeToEdit(event.srcElement);
        }else{
            event.returnValue = false;
            return false;
        }
    }
    
    //单击时文本框变成文本
    document.onclick = function(){
        if(event.srcElement.parentNode == activeItem || event.srcElement == activeItem)
            return;
        else
            changeToText(activeItem);
    }
    </script>
</head>
<body>
<input type="button" onclick="addRow()" value="插入一行" />
<table id="myTable" border="0" cellpadding="0" cellspacing="1">
<tr><th>编号</th><th>姓名</th><th>操作</th></tr>
</table>
</body>
</html>

分享到:
评论

相关推荐

    js添加删除行和双击变文本框的脚本

    综上所述,通过JavaScript实现添加和删除表格行以及双击变文本框的功能需要综合运用DOM操作方法、事件处理和元素的属性修改。这些技术的熟练运用,将使得Web页面的交互更加流畅和人性化。学习和实践这些技能对于前端...

    js实现双击单元格变文本框

    ### JavaScript 实现表格单元格双击变为可编辑文本框 #### 概述 在Web开发中,有时我们需要让用户能够方便地编辑表格中的数据。一种常见的做法是通过双击表格单元格将其转换为一个可编辑的文本框。这种方法既提高...

    jQuery文本框输入文字放大预览代码

    《jQuery实现文本框输入文字放大预览效果详解》 在网页设计中,用户交互体验是至关重要的元素之一。为了提升用户的输入体验,一...总的来说,jQuery为我们提供了强大而灵活的工具,让动态预览效果的实现变得简单易行。

    jQuery文本框创建关键词标签代码

    在本文中,我们将深入探讨如何使用jQuery来创建一个功能丰富的文本框,该文本框能够动态地生成和管理关键词标签。这个功能广泛应用于各种网站,如社交媒体、博客平台、论坛等,帮助用户方便地组织和分类内容。 首先...

    bootstrap table实现双击可编辑、添加、删除行功能

    "bootstrap table实现双击可编辑、添加、删除行功能" Bootstrap Table是基于Bootstrap的表格插件,提供了...我们可以使用Bootstrap Table实现双击可编辑、添加、删除行功能,提供了丰富的用户体验和高效的数据操作。

    JS动态的把左边列表添加到右边的实现代码(可上下移动)

    此外,还有两个按钮,分别用于添加和删除选项,它们也触发`moveOption`函数,只是传入的参数不同。最后,有两个按钮用于调整右边列表中选中项的位置,分别执行上移和下移操作,这两个按钮的`onclick`事件绑定了`...

    程序天下:JavaScript实例自学手册

    9.9 JavaScript遍历table的行和列 9.10 表格按回车自动生成新行 9.11 单击单元格背景变色 9.12 单击表格某行后其他行隐藏 9.13 单击表头实现表格排序 9.14 单击单元格显示行的详细信息 9.15 表格设置为“100%”时...

    《程序天下:JavaScript实例自学手册》光盘源码

    9.9 JavaScript遍历table的行和列 9.10 表格按回车自动生成新行 9.11 单击单元格背景变色 9.12 单击表格某行后其他行隐藏 9.13 单击表头实现表格排序 9.14 单击单元格显示行的详细信息 9.15 表格设置为“100%”时...

    JavaScript完全自学宝典 源代码

    示例描述:介绍JavaScript管理cookie和userData。 11.1.html JavaScript写数据到cookie。 11.2.html JavaScript获取cookie信息。 11.3.html JavaScript修改cookie的保存有效期。 11.4.html 保存数据...

    javascript常用代码大全.html

    2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 屏蔽...

    javascript 常用代码大全

    2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入imax文字。如果多输入了,自动减少到imax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 ...

    asp.net常用的30段经典代码

    在`DataGrid_ItemCreated`事件中,给LinkButton添加`onclick`属性,使得在用户点击删除按钮时会触发确认对话框。 5. **点击或双击表格行跳转页面**: 要在用户点击或双击表格行时跳转到另一个页面,可以在`...

    javascript代码常用大全

    - **2.2 动态添加,修改,删除下拉框中的元素** - 通过 JavaScript 操作 DOM,动态改变 `&lt;select&gt;` 元素的内容。 - **2.3 可以输入内容的下拉框** - 类似于 `&lt;input&gt;` 与 `&lt;select&gt;` 的结合体,提供更灵活的选择...

    一个有代表性的网页(请在谷歌浏览器中运行)

    简要的描述一下使用方法:①在文本框中输入要做的事情,输入完毕后请按回车键,就会添加到列表中。对已经做完的事件选中后可以进行删除,既可以逐个删除,又可以批量删除。双击事件可以对事件进行编辑(只能编辑一次...

    在b/s开发中经常用到的javaScript技术整理

    - **2.2 动态添加、修改、删除下拉框中的元素** 通过JavaScript操作`&lt;select&gt;`标签来实现。 - **2.3 可以输入内容的下拉框** 结合`&lt;select&gt;`和`&lt;input&gt;`来实现。 - **2.4 多行文本框中只能输入iMax文字**。如果多...

    javascript经典例子.txt

    - 实现方法:通过JavaScript操作DOM元素,实现添加、修改和删除下拉列表项的功能。 - **2.3 可以输入内容的下拉框** - 描述:实现一个支持输入搜索的下拉列表。 - 实现方法:使用JavaScript监听用户的输入事件,...

    JEECG UI标签库帮助文档v3.3

    #### BaseTag(样式表和JS引入标签) **1.1. 示例** ``` ,easyui,tools"&gt; ``` **1.2. 参数** | 属性名 | 类型 | 描述 | |--------|--------|------------------------------| | type | string | JS插件类型定义,...

    javascript常用代码

    2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入imax文字。如果多输入了,自动减少到imax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 ...

    在bs开发中经常用到的javaScript技术.doc

    - 动态添加、修改、删除下拉框元素:提供灵活的用户界面。 - 可输入内容的下拉框:允许用户在下拉框中输入自定义值。 - 多行文本框输入限制:确保不超过指定字符数,超出则自动截取。 3. 打印类 - 打印控件:...

Global site tag (gtag.js) - Google Analytics