粥粥528 2022-10-13 15:29 采纳率: 84%
浏览 21
已结题

为什么删除和修改按钮实现不了

使用DOM完成订单的添加、修改及删除操作

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/jscript" src="new_file.js" ></script>
    </head>
    <body>
        
        <table id="table-1" border="1" width="600px" height="100px" align="center" cellspacing="0px">
            <tbody id="info">
                <tr align="center">
                    <th>商品名称</th>
                    <th>数量</th>
                    <th>价格</th>
                    <th>操作</th>
                </tr>
            </tbody>
            
            <tr align="center">

            </tr>
            <tr align="center">
                <td colspan="4">
                    <input type="button" value="增加订单" onclick="add()"/>
                </td>
            </tr>
            
        </table>
        
        
        <div id="inputbox" class="box">    
            
            名称:<input id="s1" type="text" />
            <br>
            数量:<input id="s2" type="text" />
            <br>
            价格:<input id="s3" type="text" />
            <br>
            <input style="width: 200px" type="button" value="确定" onclick="aadd()" />
        </div>
        
        <style>                  
            .box{
                width:50%; 
                margin-top:10%; 
                margin:auto; 
                padding:28px;
                height:350px; 
                border:1px #111 solid;
                display:none;    //初始状态为隐藏,点击”增加订单“按钮后才会显示
                text-align:center;
                vertical-align:middle;
            }
            .box.show{
                display:block;
            } 
            
            .box input{
                width:80%; 
                font-size:18px;
                margin-top:18px;
            }
             #s1,#s2,#s3{
                 width: 200px;
            }
        </style>
    </body>
</html>


var count = 0;
var counttd = 100;
var countbt = 1000;
var flag = 0;
var a = 0;

function add() {
    document.getElementById("inputbox").style.display = 'block';
}

function aadd() {
    var s1 = document.getElementById("s1").value;
    var s2 = document.getElementById("s2").value;
    var s3 = document.getElementById("s3").value;
    document.getElementById("inputbox").style.display = 'none';
    var tr = document.getElementById("info");
    tr.innerHTML += "<tr id='" + count + "' align='center'>" + "<td>" + s1 + "</td>" + "<td id='" + counttd + "'>" + s2 + "</td>" + "<td>" + s3 + "</td>" + '<td><input type="button" value="删除" οnclick="delet(' + count + ')" />&nbsp<input id="' + countbt + '"  type="button" value="修改" onclick="change(' + counttd + ',' + countbt + ')" /></td>' + "</tr>";
    count++;
    counttd++;
    countbt++;
    flag = 0; //让flagc重新等于0 否则会一直累加 下面flag==0//==1就无法判断
}

function delet(count) {
    var row = document.getElementById(count);
    row.remove(count);                                    //删除id为count的行数据
}

function change(counttd, countbt) {//传递两个参数,counttd是点击修改后将td变为input,countbt是点击修改后将button的value改为确定


    if (flag == 0) {
        var td = document.getElementById(counttd);
        td.innerText = null;                       //将td的内容变为空
        var input = document.createElement("input"); //第一次点击修改时,在td里增加一个input
        input.id = a;                               //给input一个id
        td.appendChild(input);                      //将input添加到td节点下
        var bt = document.getElementById(countbt);
        bt.value = "确定";                           //将修改按钮改为确定
    }
    if (flag == 1) {                            //第二次点击修改按钮
        var a = document.getElementById(a);    //或缺增加的input的id
        a.style.display = 'none';                //使input隐藏
        var td = document.getElementById(counttd); //获取要修改的td的id
        td.innerText = a.value;                 //将input中输入的value赋给td
        var bt = document.getElementById(countbt); //获取button的id
        bt.value = "修改";                       //将确定按钮改为修改

    }

    flag++;    //按一次修改按钮就+1


}


  • 写回答

2条回答 默认 最新

  • wan8140870 2022-10-13 16:01
    关注

    复制出来后发现 οnclick="delet(' + count + ')" 中的 onclick 第一个字母有问题,你可以修改下试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 修改了问题 10月13日
  • 创建了问题 10月13日

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了