2013-07-23 20 views
0

我想从使用jQuery的html表中获取数据。使用jQuery没有第一列数据的选择表

在我的情况下,我想要没有第一列的表。 因为我想将表格导出为ex​​cel文件。 但我的第一列包含单选按钮。这是无用的,痛苦地很难将其删除。

任何人都可以提高质量。

<table id="orders_table"> 
<thead> 
<tr> 
<th> </th> 
... 
<th></th> 
<tr> 
</thead> 
<tbody> 
<tr> 
<td><input type="radio"<td> 
... 
<td>data<td> 
</tr> 
</tbody> 
</table> 

jQuery代码我试过

function getTable(){ 
    $("#orders_table"); 
    var html = "<table>"; 
    html += "<tr>"; 
    $.each($("#orders_table thead tr th "), function(i, d){//getting header 
     if(i==0){}//do nothing 
     else{ 
      html += "<th>" + $(this).html() + "</th>"; 
     } 
    }); 

    html += "</tr>"; 
    $.each($("#orders_table tbody tr"), function(i, d){ 
     html += "<tr>"; 
     $.each($(d).find("td"), function(i2, d2){ 
      if(i2==0){} //do nothing 
      if(i2==1){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==2){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==3){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==4){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==5){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==6){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==7){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==8){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==9){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==10){html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==11){ html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==12){ html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==13){ html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==14){ html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==15){ html += "<td>" + $(d2).html() + "</td>";} 
      if(i2==16){ html += "<td>" + $(d2).html() + "</td>";} 
     }); 
     html += "</tr>"; 
    }); 


    html += "</table>"; 
    return html; 
} 
+0

我刚编辑帖子的指数。实际上,这段代码起作用,但是当我输出excel文件时,标题数据不见了。 “td”内容看起来像编码问题。 @ChristopherW – lv0gun9

+0

检查您的html代码语法是否正确。作为**​​<输入类型=“无线电”​​**,无线电元件没有结束标记。这也会影响导出的文件; –

回答

2

也许是为了除去第一列并返回结果HTML中的更好的方法是克隆表,从每个tr中删除第一个td元素,并从克隆中返回html

的东西,如http://jsfiddle.net/fKn6f/

var myclone = $("#orders_table").clone(); 
myclone.find("tr > td:first-child").remove(); 

var html = myclone.html(); 
+0

good solutonnnn,jsfiddel http://jsfiddle.net/Lte2D/ – suhailvs

+0

thx很多! Dom Day – lv0gun9

0

试试这个jQuery,更新eq取决于你的TD

$("#orders_table tbody tr").each(function(i, d){ 
     var data1 = $(this).find("td:eq(1)").text(); 
     var data2 = $(this).find("td:eq(2)").text(); 
     var data3 = $(this).find("td:eq(3)").text(); 
     ... 
}); 
相关问题