通过JQuery替换表行

时间:2013-04-16 19:57:56

标签: javascript jquery ruby-on-rails ruby-on-rails-3 dom

我有问题替换表的一行。我试图删除该行然后通过部分轨道附加到表的新行。附加新行,但不会删除旧行。如果没有添加另一行,我可以删除该项,但我相信当函数链接在一起时,它们按照它们所附加的顺序发生。原始行和替换具有相同的ID,这是我认为的导致问题,但是在另一个被附加之前应该删除一个我确实认为会有问题。

$('#userList')
.remove('#user_<%= @new_user.id %>')
.append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");

2 个答案:

答案 0 :(得分:1)

jQuery试图从SINGLE匹配元素#userList的集合中删除#user_ *。你只需要做

$('#user_<%= @new_user.id %>').remove();

小提琴示例: http://jsfiddle.net/KMzCg/

答案 1 :(得分:0)

您要删除的元素是#userlist的子元素,而不是兄弟元素。你将不得不导航到它。

$('#userList').find('#user_<%= @new_user.id %>').remove()
    .end().append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");

但直接选择它会更有意义。

$('#user_<%= @new_user.id %>').remove();
$('#userList').append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");