[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция remove()
l@pteff
здравствуйте, добавляю возможность удаления из корзины заказанных товаров по одному таким образом:

<table class="unity"><tr><td>Товар1 </td>
<td>
Цена1</td>
<td><input
type="button" class="del_good" value="Удалить из корзины"/></td>
</tr></table>

<table
class="sort"><tr><td>Товар2 </td>
<td>
Цена2</td>
<td><input
type="button" class="del_good" value="Удалить из корзины"/></td>
</tr></table>

<table
class="sort"><tr><td>Товар3 </td>
<td>
Цена3</td>
<td><input
type="button" class="del_good" value="Удалить из корзины"/></td>
</tr></table>




$('.del_good').click(function() {
$('.unity').each(function() {
$(this).remove();
});
});

не удается удалить товар который является последним в списке. в чём дело?




Спустя 6 минут, 21 секунда (16.05.2011 - 11:30) Семён написал(а):
у тебя не токо последний, но и второй не удалиться )))

Спустя 5 минут, 50 секунд (16.05.2011 - 11:35) Michael написал(а):
Используй closest для поиска подходящего родителя.
Примерно так :
$('.del_good').click(function() {
$(this).closest('table').remove();
});

Спустя 5 минут, 57 секунд (16.05.2011 - 11:41) l@pteff написал(а):
спасибо, сработало smile.gif

Спустя 2 часа, 52 секунды (16.05.2011 - 13:42) l@pteff написал(а):
ещё вопрос в тему: если категории товаров вставляются из php-скрипта:

<span id="sort"> </span> <!--span, куда это всё вставляется-->


echo '<table class="unity"><tr><td>'.$row['type_good'].'</td><td>'.$row['price_good'].'</td><td><input type="button" class="del_good" value="Удалить из корзины"/></td></tr></table>';



$('.del_good').click(function() {
$(this).closest('table').remove();
});

не удаляется последний элемент. почему в этом случае не работает closest?

Спустя 6 минут, 39 секунд (16.05.2011 - 13:49) Michael написал(а):
у тебя случаем не аяксом подгружаются данные?

Спустя 3 минуты, 23 секунды (16.05.2011 - 13:52) l@pteff написал(а):
так точно, аяксом

Спустя 3 минуты, 10 секунд (16.05.2011 - 13:55) Michael написал(а):
используй тогда вместо click метод live, или навешивай обработчик на элемент, после вставки его в хтмл

Спустя 8 минут, 5 секунд (16.05.2011 - 14:04) l@pteff написал(а):
спс, вот так работает:

$('.del_good').live('click', function() {
$(this).closest('table').remove();
});

Спустя 4 часа, 11 минут, 31 секунда (16.05.2011 - 18:15) Zerstoren написал(а):
Цитата (l@pteff @ 16.05.2011 - 11:04)
спс, вот так работает:

$('.del_good').live('click', function() {
$(this).closest('table').remove();
});

Смотрите. лайв жрет ресурсов больше чем обычный клик.
Это на заметку

Спустя 1 минута, 37 секунд (16.05.2011 - 18:17) alex12060 написал(а):
bind()
самый такой, мелкий по ресурсам)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.