Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Найти объект внутри выборки (https://javascript.ru/forum/jquery/5509-najjti-obekt-vnutri-vyborki.html)

sniffysko 20.10.2009 01:43

Найти объект внутри выборки
 
Имеется код, копирующий последнюю строку таблицы:
var new_row = $('#main_tbl tr:last-child').clone();

Как найти в ячейках скопированной строки
input type="radio" и сбросить атрибут "checked"? Это чтобы не сбрасывать уже существующий флажок. После этого новая строка добавляется в конец таблицы.

new_row.appendTo('#main_tbl');

Если выбран input в последней строке, то при копировании новая строка перехватывает его на себя.

x-yuri 20.10.2009 03:08

функции $ можно задавать контекст

sniffysko 20.10.2009 11:27

А с этого места можно по подробнее? Я не пока сильно силен в контекстах. :о)
Это типа такого:
var new_row = $('#main_tbl tr:last-child').clone();
$('input:radio', new_row).setAttribute('checked', false);
new_row.appendTo('#main_tbl');

?

e1f 20.10.2009 15:03

Да, именно так. Если мсье знает толк в извращениях, то можно так:
$('input:radio', $('#main_tbl tr:last-child').clone().appendTo('#main_tbl')).removeAttribute('checked');

sniffysko 20.10.2009 15:16

Так не проканает. Вначале надо сбросить флажок, а потом добавлять в хвост. А, насколько я понимаю, в такой записи вначале добавляем строку, а потом уже сбрасываем флаг.
В любом случае спасибо за участие и подсказку, джентльмены!

e1f 20.10.2009 15:25

Можно так: (извращения затягивают) :)
$('#main_tbl tr:last-child').clone().find('input:radio').removeAttribute('checked').end().appendTo('#main_tbl')

sniffysko 20.10.2009 15:56

Цитата:

Сообщение от e1f (Сообщение 32937)
Можно так: (извращения затягивают) :)
$('#main_tbl tr:last-child').clone().find('input:radio').removeAttribute('checked').end().appendTo('#main_tbl')

Давайте дружить извращениями!!! Спасибо. Попробую и так.

x-yuri 21.10.2009 03:25

кстати, есть же find и end ;)


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