【问题标题】:Editing row added to table with jQuery使用 jQuery 编辑添加到表中的行
【发布时间】:2017-07-06 06:21:56
【问题描述】:

我找到了这个帖子:Editing and deleting a newly added table row using Jquery,这似乎正是我想要的,但我无法让他们建议的解决方案发挥作用。

在进行 ajax 调用后,我向表中添加了一个新行。该行看起来与此类似:

<tr class="classRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
    <td width="35px"><a class="classEditLink classAdminFormSubmit" name="33" href="#">Edit</a></td>
    <td width="20px"><input type="checkbox" class="chkDeleteClass" name="deleteClasses[]" value="33" /></td>
    <td>CLASS101</td>
    <td>Class Description</td>
</tr>

编辑链接在页面刷新后才起作用(我假设这是由于它在添加到表后立即不在 DOM 中的事实)。所以,我需要找到一个解决方法,这导致我看到上述帖子。

我从那里修改了代码,如下所示:

$('a').live('click', function(e){
    if ($(e.target).attr('class') == 'classAdminFormSubmit') {
        alert($(e.target).name());

        OpenEditDialog($(this));
        return false;
    }
});

警报永远不会触发,所以我希望只是我的选择器需要调整。我需要将选定的锚标记传递给 OpenEditDialog 函数。

【问题讨论】:

  • 我在链接中看不到课程:submitAddDocsToClass?
  • 谢谢,利亚姆。我更改了它以检查正确的课程。不幸的是,这并没有解决我的问题! :(
  • 利亚姆,你有点不小心回答了这个问题 - 或者至少,引导我回答:在我的 OP 中更改类后,我记得需要将类添加到插入ajax 调用中的新行。加上那个和中提琴!我可以编辑新添加的行!谢谢!

标签: jquery html-table row edit


【解决方案1】:
$( 'a' ).live( 'click', function () {

    var $this = $( this );

    if ( $this.hasClass( 'classAdminFormSubmit' ) ) {

        alert( $this.attr( 'name' ) );

        OpenEditDialog( $this );

        return false;

    }

});

【讨论】:

  • 不幸的是,这不起作用,何塞。我可以做其他事情可能会阻止它工作吗?是否有替代 .live() 的方法?
  • 我必须收回之前的陈述:我意识到我没有将类添加到将行插入表中的代码中。我添加了它,对话框会按原样打开。
【解决方案2】:

首先,在您刚刚添加的行中放置一个链接,并给它一个类,假设它是editRow。 二、使用这段代码:

$('a.editRow').live('click', function(e){

    alert($(e.target).name());

    OpenEditDialog($(this));
    e.preventDefault(); // this is better than return false;
});

【讨论】:

  • 我已经在点击的行中有一个链接,并且您的代码与我发布的非常接近...
  • :) 它可能很接近,但.attr('class') == 'aClass' 不适用于您的链接,因为该链接有两个类。我的代码应该可以工作。或者,您可以使用hasClass
  • 我很抱歉,Milimetric。您的代码确实可以正常工作,我只是没有将类添加到从 ajax 调用插入它的代码中的新行 - 修复了它,现在可以正常工作了。
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
相关资源
最近更新 更多