当前位置: 首页 > 知识库问答 >
问题:

javascript - ajax获取数据后动态生产的表格怎么删除指定行?

胡曾笑
2024-08-13

从后台获取的数据,和前端输入的数据做的一个拼接临时存在数组里面,然后以表格的形式将数组显示在页面上,怎么实现单击删除,就删除页面行和数组里面的数据同时删除啊?想法是传当前单击的对象,然后通过对象去查当行的数据,但是这种我连this怎么传都不知道

    $.ajax({
                    url:'http://localhost:8081/boot/v1/goods/selectPNum',
                    type:'post',
                    data:{"pNumber":pNumber},
                    success:function(data){
                        var str=""
                        c=[pNumber,products,data.data[0].pprice,pNum]
                        
                        str+="<tr>"
                        str+="<td>"+pNumber+"</td>"
                        str+="<td>"+products+"</td>"
                        str+="<td>件</td>"
                        str+="<td>"+data.data[0].pprice+"</td>"
                        str+="<td>"+pNum+"</td>"
                        str+="<td><a href='javascript:;' onclick='del("+this+")'>删除</a></td></tr>"
                        tbody.append(str);
                        arry.push(c);
                        console.log(arry)
                        }
            })

试过一些网上的方法,要么就是删的不对,要么就是不生效,感觉可能是我传参问题,没找到类似这种的表格选中删除

共有2个答案

宣星光
2024-08-13

重要的事情说三遍:要封装成方法!要封装成方法!要封装成方法!
方法1:提出来的代码封装为方法,删除后重新调用该方法,方法类似:

function 方法(目标tbody) {
    执行ajax查询
    得到数据后清理tbody
    遍历数据重新填充tbody
}

方法2:拆分为两个方法,一个是数据拉取,一个是渲染。

function 异步方法用来获得数据(){}
function 渲染tbody(指定的tbody,数据) {
    清理tbody
    遍历数据重新填充tbody
}
const data = await 异步方法用来获得数据();
渲染tbody(指定的tbody,data);

function 异步删除行(行,数据) {
    await 删除
    从数据中删除行(这样可以减少一次拉取)
    渲染tbody(指定的tbody,data);
}
张鹏云
2024-08-13

为每行添加一个唯一的标识符(例如使用一个隐藏的 <td> 或者 <input> 元素),以便于定位到具体的行。具体代码如下:

var arry = [];

// AJAX 请求
$.ajax({
    url: 'http://localhost:8081/boot/v1/goods/selectPNum',
    type: 'post',
    data: {"pNumber": pNumber},
    success: function (data) {
        var str = "";
        var rowId = "row_" + pNumber; // 生成一个唯一的行标识符
        var c = [pNumber, products, data.data[0].pprice, pNum];

        str += "<tr id='" + rowId + "'>";
        str += "<td>" + pNumber + "</td>";
        str += "<td>" + products + "</td>";
        str += "<td>件</td>";
        str += "<td>" + data.data[0].pprice + "</td>";
        str += "<td>" + pNum + "</td>";
        str += "<td><a href='javascript:;' onclick='del(\"" + rowId + "\")'>删除</a></td>";
        str += "</tr>";

        $("#tbody").append(str); // 假设您的表格的 tbody 元素有一个 id 为 "tbody"
        arry.push(c);
        console.log(arry);
    }
});

// 删除函数
function del(rowId) {
    // 通过 ID 找到相应的行并删除
    $("#" + rowId).remove();
}
 类似资料:
  • 本文向大家介绍JS实现从表格中动态删除指定行的方法,包括了JS实现从表格中动态删除指定行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现从表格中动态删除指定行的方法。分享给大家供大家参考。具体如下: JS的表格对象有一个deleteRow方法用于删除表格中的指定行,只需要指定行号即可 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍bootstrap select2 动态从后台Ajax动态获取数据的代码,包括了bootstrap select2 动态从后台Ajax动态获取数据的代码的使用技巧和注意事项,需要的朋友参考一下 效果图展示: 实现方式: 前端代码: 后端实现代码: 总结 以上所述是小编给大家介绍的bootstrap select2 动态从后台Ajax动态获取数据的代码,希望对大家有所帮助,如果大家有任

  • 表格数据转换,后台返回的表格数据状态都是数字,所以前台需要转换一下。 后台返回的状态配置数据: 表格数据 根据状态配置数据使得前台表格展示相应的名称label。 我是怎么处理的呢,我对el-table进行二次分装,然后在处理数据转换 filterVal就是我分装的方法,但是封装的有问题,展示出来的还是数字

  • 本文向大家介绍Javascript动态创建表格及删除行列的方法,包括了Javascript动态创建表格及删除行列的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Javascript动态创建表格及删除行列的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍基于JavaScript实现动态添加删除表格的行,包括了基于JavaScript实现动态添加删除表格的行的使用技巧和注意事项,需要的朋友参考一下 又一个动态控制表格的效果,用JavaScript动态生成表格行、表格列,以及还可动态删除这些行列,行等,运行代码后,点击对应的功能按钮,即可实现对应的表格操作功能。 1.jsp 2.js 以上所述是小编给大家分享的JavaScript实现动

  • 本文向大家介绍ajax动态获取数据库中的数据方法,包括了ajax动态获取数据库中的数据方法的使用技巧和注意事项,需要的朋友参考一下 今天看到有人在问答上问怎样去动态取值附在option上,本来想解决的,但我发现。。。。没有,我本来也笨,记不住,所以还是写一下,让大家可以看一下: 首先我这用的框架是SSM,代码就开始了: 这是写在前台的方法里一个点击事件进入方法里我就不写那么麻烦了直接ajax部分代