2012-10-11 49 views
1

我有一個使用java腳本動態創建的表格。它的每一行都有一個複選框作爲第一列。我想基於各行選擇的複選框來獲取行數據。如何根據每行中的複選框選擇獲取HTML表格行數據?

var table = document.getElementById("myTable"); 
var row = table.insertRow(0); 
var cell0 = row.insertCell(0); 
var cell1 = row.insertCell(1); 

cell0.innerHTML = 'Select'; 
cell1.innerHTML = 'Epic'; 
cell0.innerHTML = " checkbox html code "; 
cell1.innerHTML = epicSeries[j]; 

其實有太多的專欄,我只把其中兩個。我有很多史詩下的列標題'史詩'和一個複選框作爲每行第一列。我希望基於複選框選擇行數據選擇。

對不起,代碼太長,所以我不能粘貼所有這些。

+0

發佈一些代碼,你已經創建了複選框和javascript函數。這將有所幫助 – polin

+0

這種情況會單獨調用還是每次更改任何複選框時都會調用? –

回答

2

現在已經你的代碼和位鐵道部的例子Ë明確的要求,我認爲你應該做如下因素:

$('#myTable input[type=checkbox]:checked').each(function() { 

    var row = $(this).parent().parent(); 
    var rowcells = row.find('td'); 
    // rowcells contains all td's in the row 
    // you can do 
    // rowcells.each(function() {var tdhtml = $(this).html(); }); 
    // to cycle all of them  

}); 

如果你有臺這樣的:

<table> 
    <tr> 
    .... 
    <td><input type="checkbox" name="cb1" checked></td> 
    ... 
    </tr> 
</table> 

此代碼將返回所有<tr>的與選中的複選框

如果行選擇複選框是在更深層次你應該更多.parent()的視需要

這個例子當然使用jQuery。

+0

謝謝你,它完全爲我工作。如果你想選擇一個特定的列,那麼只需使用var rowcells = row.find('tdClassName'); rowcells.each(function(){var tdhtml = $(this).html();}); – ravikant

0

這是我在我的情況下使用使用jQuery:

$('.chkbox').click(function(){ 
    var row = jQuery(this).closest('tr');//your nearest row for the check box 

    $(row).each(function(){ 
     //get all data using the id and use/store it 
     $(this).find(".item").html(); 
    }); 
}); 

對於每個複選框,併爲每個連續給類項目(我用chkbox所有複選框和itemprice等所有單列的項目)

0
$('table#tableid input[type=checkbox]').each(function() { 
    if ($(this).is(':checked')) { 
    .... 
    } 
}); 

類似的東西我supose

+0

包括:在第一個查詢中選中;),複選框]:選中時只選中選中的項,但仍然需要使用最接近的呼叫來獲取行項。 –

+0

這個人可以做一些事情時,複選框沒有檢查...你不覺得:)如果需要的行可以得到選定的項目只使用'.parent()'......無論如何......取決於什麼這傢伙想做......這不是很清楚:) – Reflective

+0

你的權利;)我的壞。 –

相關問題