Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   НЕ могу удалить строку из таблицы (https://javascript.ru/forum/jquery/20751-ne-mogu-udalit-stroku-iz-tablicy.html)

ArmagedDance 16.08.2011 10:35

НЕ могу удалить строку из таблицы
 
Не могу удалить строку из таблицы. Ни hide() ни remove() не помогают.

Код удаления:
$('#tr'+comment_id+'').remove();//$('#tr'+comment_id+'').hide();


Суть в том, что удаляемая строка таблицы добавляется также из javascript в DOM с помощью ajax:

$('#pane-comments table').append("<tr height=20px id=tr"+data.comment_id+"><td width=290px><p class=minitext>"+data.add_date+
             "</p></td><td width=200px><p>"+data.admin_fio+
             "</p></td><td width=30px><a class='delete_comment' comment_id='"+data.comment_id+
             "'><img src='images/delete.png'></a></td></tr><tr height=20px><td colspan=3 width=320px><p>"+
             data.comment+"</p></td></tr>");

Может быть из-за этого проблема?

Beriagts 16.08.2011 11:34

$('#'+comment_id+'').parents('tr').remove()

walik 16.08.2011 15:26

Хммм вроде все удаляется, может у вас в коде ошибка...
<!DOCTYPE HTML>
<html>
   <head>   
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
   </head>
   <body>
      <table id="comments"></table>
      <input type="button" value="Добавить коммент" class="addComment" />
      <script>
      var comments = 0;

      $('.addComment').click(function() {
         comments++;
         $('#comments').append('<tr id="'+comments+'"><td>Коммент №'+comments+'</td><td><a href="#" class="removeComment" comment_id="'+comments+'">Удалить</a></td></tr>');
      });

      $('#comments').delegate('.removeComment', 'click', function(e) {
         var id = $(this).attr('comment_id');
         $('#'+id).remove();
         e.preventDefault();
      });
      </script>
   </body>
</html>

Beriagts 16.08.2011 15:36

Цитата:

Сообщение от walik (Сообщение 120877)
Хммм вроде все удаляется, может у вас в коде ошибка...

посмотри как у него идет select

walik 16.08.2011 15:39

Хмм вроде все правильно
Имеется элемент с ID:
<tr height=20px *!*id=tr"+data.comment_id+"*/!*>


и он удаляется:
$(*!*'#tr'+comment_id+''*/!*).remove();

Так что возможно ошибка в коде, и переменная comment_id не содержит то что надо.

Или я туплю.....

Цитата:

$('#'+comment_id+'').parents('tr').remove()
Вот тут точно не правильно, так как ты по ID берешь элемент, и в родителях ищешь tr и удаляешь. Так сам tr и имеет этот ID


Часовой пояс GMT +3, время: 10:43.