【问题标题】:Deleting current row jQuery删除当前行jQuery
【发布时间】:2018-03-30 19:26:15
【问题描述】:

我正在尝试使用 jQuery 删除表格行。我使用了所有我能找到的方法,但都没有奏效。 我在每一行的末尾都有一个删除,当我单击它时,我会触发一个函数,该函数应该删除它所在的行。但这行不通。

在 cmets 中是我失败的尝试。 除了当前项目(类似这样的东西)之外,是否有一个伪赞?

function del(){

//$(this).parent().parent().remove();
//$(this).closest("tr").remove();
//$('table tr:last').remove();   this one worked but it deletes the last and I want the current one to be deleted

 }

下面是生成表格的代码:

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) {
var ttr = $("<tr class='rou' />");   
$.each(data, function(k, v){
var store_1 = v * (parseFloat(uneseno, 10) / 100);
var xstore_1 = store_1.toFixed(2);

$("<td class='teedee'></td>").text(k=='name' ? v : xstore_1).appendTo(ttr);



});
$("<td id='delete' onClick='del();'>Delete</td>").appendTo(ttr);
$("#tejbl").append(ttr);
}); 

【问题讨论】:

    标签: jquery html-table row selected


    【解决方案1】:

    如果您将 HTML 更改为使用 onClick='del(this);'$(this).closest("tr").remove(); 将正常工作。更好的是跳过丑陋的 DOM0 事件绑定并使用.on()

    $(document).on('click', 'td.delete', del);
    

    请注意,您的代码当前正在生成具有重复 ID 的 HTML,这很糟糕。元素 ID 必须是唯一的。改用类:

    $("<td class='delete'>Delete</td>").appendTo(ttr);
    

    【讨论】:

    • 谢谢!完美运行。并感谢其他提示:)
    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2020-01-27
    • 2011-03-23
    • 2010-12-27
    • 2016-11-13
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多