2013-11-29 7 views
0

Просто хочу получить данные строки таблицы и передать ее. В моем коде кажется, что он только получает данные первой строки.Получение данных строки таблицы jQuery

jsfiddle

$(".edit").click(function(){ 
    var tableData = $('tr.table').children("td").map(function() { 
     return $(this).text(); 
    }).get(); 

    $('#test1').val($.trim(tableData[0])); 
    $('#test2').val($.trim(tableData[1])); 
    $('#test3').val($.trim(tableData[2])); 
}) 
+0

Это немного непонятно, что вы хотите. Я предполагаю, что вы хотите получить строку, в которую был нажат элемент '.edit'? '$ ('tr.table'). children (" td ")' получает весь элемент 'td' всей таблицы. –

ответ

1

Попробуйте

fiddle Demo

var tableData = $(this).closest('tr.table').children("td").map(function() { 
    return $(this).text(); 
}).get(); 


Изменить

$('tr.table').children("td") 

//will get all tr.table and it's children td 

в

$(this).closest('tr.table').children("td") 

//this will get closest tr to the current edit button 


.closest()

+1

Большое вам спасибо! именно то, что мне нужно! – Arem

+0

@Arem Добро пожаловать, чтобы помочь :) –

+0

Пожалуйста, объясните проблему и ваше решение, не только отправьте код. –

1
$(".edit").click(function(){ 
    var tableData = $(this).closest("tr").children("td").map(function() { 
    // by $(this) go to current td then by closest go its closest "tr" then find their td   
     return $(this).text(); 
    }).get(); 

    $('#test1').val($.trim(tableData[0])); 
    $('#test2').val($.trim(tableData[1])); 
    $('#test3').val($.trim(tableData[2])); 
}); 

update fiddle

ссылка closest()

+0

Пожалуйста, объясните проблему и ваше решение, не только отправьте код. –

+0

@FelixKling я объяснил спасибо, я всегда помню эту вещь –

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