2013-07-23 23 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(); 
     ... 
}); 
相關問題