2010-01-14 37 views
-2

我有這樣一個表:我該如何使用jQuery以某種方式移動表格行元素?

<table> 
    <tr> 
    <td>something</td> 
    </tr> 
    <tr> 
    <td>something else</td> 
    </tr> 
</table> 

現在基於一個ID,它是在我想走動,使它們在由ID舉行的位置TR的對TD。關於如何做到這一點的任何想法?

+0

......這是什麼意思? 是否應具有ID屬性? – Matchu 2010-01-14 01:38:22

+1

'tr's已經處於'td'中包含的'id'所擁有的位置了......就像歐洲已經在法國巴黎舉辦的職位一樣。你的ID是否有序號或其他? – Shog9 2010-01-14 01:42:07

+2

我已經讀了一段時間後的第一句話,現在只是無法理解它。對勇於嘗試回答這個問題的勇敢者表示讚賞。 – 2010-01-16 20:35:14

回答

2

您可以使用parent()函數選擇tr。例如,

$("#td-id").parent().appendTo("table"); 

將移動包含id爲「TD-ID」表中的底部的TD的TR。

1

不適合訂購大型表格,但是當我寫一段時間後,這對我很有用。你會訂購不同的東西(行ID),所以你將不得不改變它以滿足你的需求。

第一個參數是要排序的表格,第二個參數是您要排序的列。

你會改變所有的cIndex的東西來使用你的rowid來代替。

function SortTable(stable, cIndex) 
{ 
    var rows = $(stable).find("tr"); 
    var count = $(rows).size(); 

    for (var i = 0; i < count - 1; i++) 
    { 
     var r1 = $(rows[i]); 
     var r2 = $(rows[i + 1]); 

     var td1 = $(r1).find("td")[cIndex]; 
     var td2 = $(r2).find("td")[cIndex]; 

     var d1 = parseInt($(td1).html()); 
     var d2 = parseInt($(td2).html()); 

     if (d1 < d2) 
     { 
      var t = rows[i]; 
      rows[i] = rows[i + 1] 
      rows[i + 1] = t; 
      i = -1; 
     } 
    } 

    var tbody = $(stable); 
    tbody.empty(); 
    for (var i = 0; i < count; i++) 
    { 
     $(tbody).append(rows[i]); 
    } 
} 
相關問題