如何根据每行中的复选框选择获取HTML表行数据?

时间:2012-10-11 12:46:07

标签: javascript jquery

我有一个用java脚本动态创建的表。每行有一个复选框作为第一列。我想根据各行选中的复选框获取行数据。

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];

实际上有太多的专栏我只放了两个。我在列标题'epic'下面有很多史诗,每行中有一个复选框作为第一列。我希望基于复选框选择行数据。

抱歉代码太长了所以我无法粘贴所有代码。

3 个答案:

答案 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。

答案 1 :(得分: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等表示单行的所有项目< / p>

答案 2 :(得分:0)

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

类似的东西,我想