2012-11-02 2 views
1

сгенерировать таблицу из базы данных, чтобы посмотреть, как этогоJQuery по выбору нажмите родственный

<table id="items"> 
<thead> 
    <tr> 
     <th>Details</th> 
     <th>Goldmine ID</th> 
     <th>&nbsp;</th> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
     <td class="evenrow">This is a test Description generated through UNIT Tests for the category description</td> 
     <td class="evenrow"><input type="text" value="" id="106" class="gminput"></td> 
     <td class="butCell evenrow"><button class="saveButton updateitem">Update</button></td> 
    </tr> 
    <tr> 
     <td class="oddrow">This is a test Description generated through UNIT Tests for the category description</td> 
     <td class="oddrow"><input type="text" value="" id="107" class="gminput"></td> 
     <td class="butCell oddrow"><button class="saveButton updateitem">Update</button></td> 
    </tr> 
    <tr> 
     <td class="evenrow">This is a test Description generated through UNIT Tests for the category description</td> 
     <td class="evenrow"><input type="text" value="" id="108" class="gminput"></td> 
     <td class="butCell oddrow"><button class="saveButton updateitem">Update</button></td> 
    </tr> 
</tbody> 
</table> 

Я пытаюсь получить значение входного окна и идентификатор, возвращаемое кнопкой соответствующей строки кликните

до сих пор Я попытался это, но не

$('body').on('click', '.updateitem', function(event) { 
    event.preventDefault(); 
    $(this).parent().siblings().each(function(index) { 
     alert(($(this).val())); 
    }); 
    var par = sib.parent('td'); 
    par.addClass('redBorder'); 
}); 
+0

Я мог бы подвести ваш вопрос в одном предложении;) – user1534664

+0

В качестве примечания стороны, это '.each'. – pimvdb

+1

@ user1534664 Лично я прочитал все, и мне нравится иметь достаточно информации, чтобы быть уверенным в том, что требуется. HTML был особенно полезен. –

ответ

4

элемент вы хотите

$(this).closest('tr').find('.gminput') 

Вы можете получить значение и идентификатор с помощью

var input = $(this).closest('tr').find('.gminput'); 
var value = input.val(); 
var id = input.attr('id'); 
+0

спасибо, я соглашусь ровно через 2 минуты lol – Deviland

0

Там нет способа forEach() в JQuery .. попробовать .each()

$(this).parent().parent().each(function(index) { 
    if(!$(this).hasClass('butCell')) { 
     if($(this).find('input').length > 0) { // we have to verify if tds has text inputs or not 
      alert($(this).find('input').val()); 
     } else { 
      // if there is no text input we get the text inside td 
      alert($(this).text()); 
     } 
    } 
}); 
+0

да, я получаю это, я пишу быстро и обычно работаю в C# прощаю свою ошибку – Deviland

0
$('.updateitem').on('click', function(){ 
    $elem = $(this).parents('tr').find('.gminput'); 
    var id = $elem.prop('id'); 
    var val = $elem.val() 
}) 

Почему событие щелчка на body, когда button может быть достаточно?

+0

Я думаю, что '' s динамически генерируются. – pimvdb

+0

Это должно все еще работать, я думаю. – Abhilash

+0

Все еще страдает от проблемы, если строки динамически генерируются. – pimvdb

Смежные вопросы