繁体   English   中英

无法使用JavaScript函数删除

[英]Not work JavaScript function delete

我有以下JavaScript,可从我的购物车的数据库中获取数据。 但是,当我想删除购物车数据时,我的代码不起作用。 我不知道我是否对这部分代码javascript:deleteRow(this)有所了解。

我留下了两个函数的完整代码: listarPedido()和(在底部) deleteRow(r)

function listarPedido(){
   var articulos = localStorage.getItem("productos");
   var productos = articulos.split(";");
    var contador = 0;//cuenta numero de articulos en el carrito

 for( var i = 0; i < productos.length - 1; i++ ){
    var item = productos[i].split(",");
    var pedido = "";

    for( var j = 0; j < item.length; j++ ){
        pedido = '<tr>'+
                '<td class="text-center">'+ '<img style="width: 100px; height: 100px" src="' + item[0] + '"/></td>' +
                '<td id="celiminar" style="text-align:left;"><b>'+ item[1].toUpperCase() + '<br><br><br><br></b>' +
                '<a style="text-decoration:none">Editar</a> | <a href="javascript:deleteRow(this)" style="text-decoration:none;">Delete</a></td>' +
                '<td style="text-align:right; color:red"><b>'+ 'S/.'+ item[2] + '</b></td>' +
                '<td class="text-center"><b>'
                + '<input type="number" name="txtcant'+i+'" id="txtcant'+i+'" min="1" max="15" value="'+ item[3] +'" class="form-control">' + 
                '</b></td>'+
                '<td style="text-align:right;"><b>'+ 'S/.'+ (item[2]*item[3]).toFixed(2) + '</b></td>';
    }
    //<a href="javascript:void()"><i class="fa fa-trash"></i></a>
    $("#detallePedido").append(pedido);  

    $("#txtcant"+i).change(function(){
        resumen();
        //al cambiar el numero actualiza el total
        $("#detallePedido tr").find("td").eq(4).html('<b>'+ 'S/.'+ (item[2] * $(this).val()).toFixed(2)+ '</b>'); 
    });

    contador++;
}

$("#lblnum").text(contador +" ARTÍCULOS");
}

 function deleteRow(r) {
      var i = r.parentNode.parentNode.rowIndex;
      document.getElementById(".table").deleteRow(i);
  }

您的代码是完全错误的:

document.getElementById(".table").deleteRow(i);

我怀疑您是否具有ID为“ .table”的元素。

您的函数被重写以获得正确的表:

function deleteRow(link) {
    var row = link.parentNode.parentNode;
    var idx = row.rowIndex;
    var table = row.parentNode;
    table.deleteRow(idx);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM