Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2018, 20:38
Новичок на форуме
Отправить личное сообщение для DarkSouls Посмотреть профиль Найти все сообщения от DarkSouls
 
Регистрация: 19.06.2018
Сообщений: 4

Поиск родителя у динамических элементов
Приветствую господа программисты.
Прошу помощи;
<tr>
    <td></td>
    <td>Name</td>
// .......
    <td id='rform'>
        <button type='button'>add</button>
    </td>
</tr>

в этот td по клику на кнопку динамически добавляется форма;
$('td').on('click', 'button', function () {
    var elem = $(this),
        action = $(elem).attr('id'), 
        name = $(elem).parent().parent('tr').find('td:eq(1)').text(),
        line = $(elem).parent('td');
    
    switch(action) {
        // ......
        case 'send': _add_form_link(line, name); break;
        // ......
    }
}
function _add_form_link(line, name) {
    var form = $('<div/>').attr({'class':'rform'})
    .append(
        $('<form/>').attr({'method':'post', 'action':'/options'})
        .append(
            $('<input/>').attr({'type':'hidden','value':name,'name':'name'}),
            $('<input/>').attr({'type':'hidden','value':sett,'name':'sett'}),
            $('<input/>').attr({'type':'text','name':'link','placeholder':'enter link'}),
            $('<button/>').attr({'type':'button','id':'send'}).text('send'),
            $('<button/>').attr({'type':'button'}).html('×')
        )).appendTo($(line));

	var left = ($(form).width() -10), persp = left +10;
	$(form).css({
		'left':'-'+ left +'px',
		'top':($(form).height()/2 -$(line).height()/2 -7) +'px'
	}).animate({'left':'-'+ persp +'px', 'opacity':1}, 300);
}

теперь по клику на send нужно найти tr родитель.
опыта мало. новичок.
$(this).parents('tr'); // не работает
$(this).closest('tr'); // тоже не работает
$(this).parent().parent().parent().parent('tr') // как ни странно но тоже нет :)

Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2018, 20:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,617

Сообщение от DarkSouls
$(this).parents('tr'); // не работает
работает!!!
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2018, 21:08
Новичок на форуме
Отправить личное сообщение для DarkSouls Посмотреть профиль Найти все сообщения от DarkSouls
 
Регистрация: 19.06.2018
Сообщений: 4

почему-то не выходит.
пробую найти родителя td и показать его id:
alert($(this).parents('td').attr('id')); // undefined
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2018, 21:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,617

Сообщение от DarkSouls
почему-то не выходит.
где код?
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2018, 21:39
Новичок на форуме
Отправить личное сообщение для DarkSouls Посмотреть профиль Найти все сообщения от DarkSouls
 
Регистрация: 19.06.2018
Сообщений: 4

кнопка send находиться в динамически созданной форме;
$('td').on('click', 'button', function () {
    var elem = $(this),
        action = $(elem).attr('id'), 
        name = $(elem).parent().parent('tr').find('td:eq(1)').text(),
        line = $(elem).parent('td');
    
    switch(action) {
        // ......
        case 'send': _add_form_link(line, name); break;
        // ......
    }
}
function _add_form_link(line, name) {
    var form = $('<div/>').attr({'class':'rform'})
    .append(
        $('<form/>').attr({'method':'post', 'action':'/options'})
        .append(
            $('<input/>').attr({'type':'hidden','value':name,'name':'name'}),
            $('<input/>').attr({'type':'hidden','value':sett,'name':'sett'}),
            $('<input/>').attr({'type':'text','name':'link','placeholder':'enter link'}),
            $('<button/>').attr({'type':'button','id':'send'}).text('send'), // вот тут......................
            $('<button/>').attr({'type':'button'}).html('×')
        )).appendTo($(line));

	var left = ($(form).width() -10), persp = left +10;
	$(form).css({
		'left':'-'+ left +'px',
		'top':($(form).height()/2 -$(line).height()/2 -7) +'px'
	}).animate({'left':'-'+ persp +'px', 'opacity':1}, 300);
}

все это вставляется;
<tr>
    <td></td>
    <td>Name</td>
// .......
    <td id='rform'>
        <button type='button'>add</button>
        // вот сюда...............................................................................
    </td>
</tr>

пытаюсь найти id td.
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2018, 21:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,617

DarkSouls,
... информации недостаточно, сделайте рабочий пример с вашей проблемой. сейчас это обрывки кода, что такое sett, почему строка 5 у вас, то работает все это вставляется; то не работает пытаюсь найти id td.
Ответить с цитированием
  #7 (permalink)  
Старый 19.06.2018, 22:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 9,372

DarkSouls,
и если найти родителя ячейки (tr), по которой щелкаем, то почему $(elem).parent().parent('tr'), если $(elem) - это ячейка, а родитель ее это parent()?
Ответить с цитированием
  #8 (permalink)  
Старый 20.06.2018, 18:23
Новичок на форуме
Отправить личное сообщение для DarkSouls Посмотреть профиль Найти все сообщения от DarkSouls
 
Регистрация: 19.06.2018
Сообщений: 4

Спасибо! parents() работает. ручки у меня просто кривые... сори!...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск элементов, класс которых содержит помимо прочего одно слово borus jQuery 8 23.01.2015 13:39
Поиск элементов по тэгу - getElementsByTagName('table') lamer Общие вопросы Javascript 8 31.01.2013 03:58
Поиск элементов на другой странице chudikos Events/DOM/Window 4 10.11.2012 08:12
поиск элементов в DOM Bebarr Swallow Общие вопросы Javascript 1 24.06.2011 13:57
Поиск родителя по селектору Юрий Шу jQuery 10 01.06.2010 15:55