javascript - 隐藏选定类别的特定行

标签 javascript jquery

我有这张表:

while ($row = mysqli_fetch_array($result)) {
echo '<tr>';
    echo '<td> <button value="' . $row['id'] . '" class="btn btn-danger" id="delete"><i class="icon-remove icon-white"></i> Delete</button> </td>';
echo '</tr>';
}

结果如下:

enter image description here

我正在使用此 JavaScript 来删除特定行:

<script type="text/javascript">
    $('.btn-danger').click(function() {
        alert("I am an alert box!");
        var one = $(this).val();
        $.post("post.php", { 
            id: one
        }, function(data) {
            if (data.response == 1) { 
                $(this).closest('tr').fadeOut(1000); //this line does not work 
            } 
            if (data.response == 0) { 
                alert("nope");
            } 
        }, "json");
    });
</script> 

淡出不起作用。不会发生褪色现象。我不确定出了什么问题,但如果我使用 id它会起作用的。 $('#delete').closest('tr').fadeOut(1000);但问题是只有顶行会淡出,我不想使用 id 。我正在研究类,但我仍然不明白如何让它发挥作用。

请帮助我并提前致谢。

最佳答案

完成处理程序中的

this 并不引用单击的按钮,这就是问题所在。您可以使用闭包变量来解决该问题。

$('.btn-danger').click(function () {

    alert("I am an alert box!");
    var $this = $(this),
        one = $this.val();
    $.post("post.php", {
        id: one
    }, function (data) {
        if (data.response == 1) {
            $this.closest('tr').fadeOut(1000); //this line does not work 
        }
        if (data.response == 0) {
            alert("nope");
        }
    }, "json");

});

关于javascript - 隐藏选定类别的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522657/

相关文章:

javascript - Redux:在 reducer 函数中调用 store.getState(),这是一种反模式吗?

javascript - Meteor Method测试中的"Meteor.userId can only be invoked in method calls"

javascript - 主干 View 属性 : one on instance, 是原型(prototype)上的一个吗?

javascript - 每个函数获取差异数组的最大值

javascript - 当条形尺寸小于标签文本时如何删除条形标签?

Jquery 匹配值到数组

javascript - 如何从 javascript 中的元素获取 CSS 属性 top

javascript - Json 键有 '#' 特殊字符

jquery - 除非位置绝对,否则不正确地删除/添加类重新加载

javascript - 过滤后 rowData 保留在第一条记录上