js表格输入

<table id="tb_1"  onclick="TabClick();">
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
        <td>d</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
    <tr>
        <td>h</td>
        <td>i</td>
        <td>j</td>
        <td>k</td>
    </tr>
    <tr>
        <td>A</td>
        <td>B</td>
        <td>C</td>
        <td>D</td>
    </tr>
</table>  
<script>
    function TabClick(){                        
                var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
               // alert("行号:" + (td.parentElement.rowIndex) + ",列号:" + td.cellIndex);
               let str =''
               if(td.parentElement.rowIndex != undefined || td.cellIndex != undefined){
                   
                     str = td.parentElement.rowIndex.toString() +td.cellIndex.toString()
                     var oldCellValue = td.innerHTML
                  
                    //在单元格中插入一个input,并将它的id设置成行列组成的数字,将这个单元格的索引传递给失去焦点触发的函数,并将单元格的旧数据传递过去
                    //td.innerHTML="<input id='"+str+"' type='text' onblur = abc("+td.parentElement.rowIndex+","+td.cellIndex+","+oldValue+") name='temp' value='' >";
                    td.innerHTML="<input id='"+str+"' type='text' onblur = abc('"+td.parentElement.rowIndex+"','"+td.cellIndex+"','"+str.toString()+"','"+oldCellValue+"') name='temp' value='"+oldCellValue+"'/>";
                    var input1=document.getElementById(str); //获取到创建的input
                    input1.focus(); //让input获得焦点
               } else {
                    console.log('否则'+td.parentElement.rowIndex);                       
               }
            }
        function abc(row,cell,nInputId,oldCellValue){ //处理input失去焦点时的动作
            
            /*
                1,通过ID获得创建的input
                2,通过ID获得当前表格
                3,判断input是否输入了值
                    3.1没有输入就写入单元格之前的值
                    3.2输入了就写入输入过的值
                4,通过传递过来的表格索引,给当前点击的单元格写入内容
            */ 
            let nInput = document.getElementById(nInputId)
            let table= document.getElementById('tb_1')
            nInput.onchange = function(){
                console.log('aaa')
            }               
            if(nInput.vallue !='' ){
                console.log(oldCellValue)
                console.log(nInput.value)
                table.rows[row].cells[cell].innerHTML = nInput.value
                console.log('不是空的')
              
            } else {
                console.log('空')
                table.rows[row].cells[cell].innerHTML = oldCellValue
            }
            if(table.rows[row].cells[cell] == ''){
                    table.rows[row].cells[cell].innerHTML = oldCellValue
                }
        }
</script>
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值