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' οnclick='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" οnclick="addRow()" value="插入一行" />
<table id="myTable" border="0" cellpadding="0" cellspacing="1">
<tr><th>编号</th><th>姓名</th><th>操作</th></tr>
</table>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C++桌面应用程序中添加按钮和文本框可以使用MFC控件库。下面是添加按钮和文本框的步骤: 1. 创建一个MFC项目。在Visual Studio中选择“新建项目”->“Visual C++”->“MFC应用程序”,然后选择“桌面应用程序”模板,点击“确定”按钮创建项目。 2. 在资源视图中添加按钮和文本框控件。打开资源视图,右键单击“对话框”,选择“添加控件”,然后选择“按钮”或“编辑框”,将它们拖放到对话框中。 3. 为按钮和文本框添加控件量。在对话框编辑模式下,双击按钮或文本框控件,打开属性窗口,选择“控件量”选项卡,然后点击“添加量”按钮,创建一个控件量。 4. 在代码中添加事件处理程序。在类视图中双击对话框类,打开类的源文件,找到对应的控件量,然后添加事件处理程序。例如,对于按钮控件,可以添加一个OnClick事件处理程序,在该函数中编写按钮被点击时的逻辑代码。 下面是添加按钮和文本框的示例代码: ```cpp // 声明按钮和文本框控件量 CButton m_button; CEdit m_edit; // 控件量映射表 BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx) ON_BN_CLICKED(IDC_BUTTON1, OnClickButton) END_MESSAGE_MAP() // 按钮点击事件处理程序 void CMyDialog::OnClickButton() { // 在文本框中显示一句话 m_edit.SetWindowText(_T("Hello World!")); } ``` 在这个示例代码中,我们创建了一个按钮控件和一个文本框控件,在OnClickButton函数中,当按钮被点击时会在文本框中显示一句话。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值