1

我有一个用 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];

实际上列太多了,我只放了两个。我在列标题“史诗”下面有很多史诗,每行的第一列有一个复选框。我想要基于选中的复选框的行数据。

抱歉,代码太长了,我不能全部粘贴。

4

3 回答 3

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。

于 2012-10-11T15:53:03.867 回答
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等等。对于单行的所有项目)

于 2012-10-11T12:52:39.377 回答
0
$('table#tableid input[type=checkbox]').each(function() {
   if ($(this).is(':checked')) {
     .... 
   }
});

我想是这样的

于 2012-10-11T12:56:08.157 回答