小编典典

jQuery Ajax从表和数据库中删除行

ajax

我有一个html表,如果由mysql表的值填充。这条路:

function getCategories(){
    $prod = new C_Product();
    $cat= $prod->getCategorieenAsArray();

    $tr = "";
    foreach ($cat as $key => $value){
        $tr.="<tr><td>&nbsp;</td><td>$value</td><td><img src=\"images/delete_button.gif\"></td></tr>\n";

    }
    return $tr;

}

现在,我希望能够在按下删除按钮时从数据库中删除该行并刷新表,以便实际上也从html页面上的表中删除它。我想使用此jQuery和Ajax。对我来说这应该不难。我的问题是如何选择将要删除的行?jQuery如何知道按下了哪个img?

我应该在img / tr中添加一个带有值的类吗?如果使用id,则必须为要添加的每一行重新定义我的jquery函数,因此这似乎不是正确的解决方案。

那么有人可以进一步帮助我吗?

谢谢

//编辑:

同时,我继续按照自己的方式尝试解决问题,现在我有了一个具有正确ID的完整ajax调用。

jQuery(document).ready(function(){

    jQuery("img.deleterow").click(function(){
        id = jQuery(this).parent().attr("id");
        jQuery.ajax({
            type: "POST",
            data: "id=" +id,
            url: "ajax_handler.php",
            success: function(msg){
                jQuery(this).parent().remove();
            }
        });

    });
});

现在,我唯一的问题是在数据库中删除ID时从表中删除tr。这是我的tr的样子:

$tr.="<tr><td>&nbsp;</td><td>$value</td><td id=\"$key\"><img class=\"deleterow\" src=\"images/delete_button.gif\"></td></tr>\n";

阅读 276

收藏
2020-07-26

共1个答案

小编典典

我一定要在img或tr中添加一个类,并且还要添加一个ID,该ID具有数据库中元素的ID

但是如果你不这样做,将会是这样的

$('img').click(function(){
   var id = $(this ~ tr).attr("id");
   $.ajax(type: "POST",
          url: "some.php",
          data: "id="+id,
          success: function(msg){
             $(id).remove();
   });
});

编辑为您的编辑:

您是否尝试过使用$(“#id〜tr”)​​选择器将其删除?例如$(#id ~ tr).remove();

如果您要添加ID,我还将ID放在tr上,那么它将$('#id').remove();摆脱tr

2020-07-26