2009-10-15 42 views
57

Bir tablo sırasını sırayla yukarı veya aşağı hareket ettirmek için yukarı/aşağı oklarla bağlantılar yaptığımı varsayalım. Bu sırayı yukarı veya aşağı konumlandırmak için en basit yol hangisi olurdu (jQuery kullanarak)?JQuery'de tablo satırı nasıl taşınır?

sonra taşımak için jQuery'nin yöntemlerle inşa ve jQuery ile satır seçtikten sonra, ben bulamadım bir yolunu kullanarak bunu yapmak için herhangi bir doğrudan bir yol olarak görünmüyor. Ayrıca, benim durumumda, satırları sürüklenebilir yapmak (önceden bir eklenti ile yaptım) bir seçenek değildir. bağlantılarınızı verilen Ayrıca yukarı/aşağı ayarlanabilen ile oldukça basit bir şeyi yapabilirdi

+1

Eğer platformda bir kılavuz denetimi kullanma seçeneği var mı? –

cevap

146

..

up bir sınıf var ya down Eğer bağlantıların tıklama işleyicisi bu kadar bağlayabilirsiniz. Bu aynı zamanda bağlantıların şebekenin her satırında olduğu varsayımı altındadır.

$(document).ready(function(){ 
    $(".up,.down").click(function(){ 
     var row = $(this).parents("tr:first"); 
     if ($(this).is(".up")) { 
      row.insertBefore(row.prev()); 
     } else { 
      row.insertAfter(row.next()); 
     } 
    }); 
}); 

HTML:

<table> 
    <tr> 
     <td>One</td> 
     <td> 
      <a href="#" class="up">Up</a> 
      <a href="#" class="down">Down</a> 
     </td> 
    </tr> 
    <tr> 
     <td>Two</td> 
     <td> 
      <a href="#" class="up">Up</a> 
      <a href="#" class="down">Down</a> 
     </td> 
    </tr> 
    <tr> 
     <td>Three</td> 
     <td> 
      <a href="#" class="up">Up</a> 
      <a href="#" class="down">Down</a> 
     </td> 
    </tr> 
    <tr> 
     <td>Four</td> 
     <td> 
      <a href="#" class="up">Up</a> 
      <a href="#" class="down">Down</a> 
     </td> 
    </tr> 
    <tr> 
     <td>Five</td> 
     <td> 
      <a href="#" class="up">Up</a> 
      <a href="#" class="down">Down</a> 
     </td> 
    </tr> 
</table> 

Demo - JsFiddle

+0

@Quintin: bunun için teşekkürler. Üst sıra stili görüntülenmiyorsa, satırları görüntülenen önceki satırın satırına nasıl taşıyabilirim? Herhangi bir satır stili görüntülenmiyorsa, yukarı veya aşağı gitmek için birden çok kez tıklamam gerekir. herhangi bir öneri ? – Paulraj

+1

İlk satırın "Yukarı" bağlantısını ve son satırın "Aşağı" bağlantısını nasıl gizleyeceğinizle ilgili öneriniz var mı? – rboarman

+0

@rboarman $ (". Yukarı, .down") satırında bir şey göster(); 'sonra' $ ("tr: ilk .up, tr: last .down"). Hide(); 'ancak seçiciyi tam ihtiyacınıza göre düzeltmeniz gerekebilir. –

6
$(document).ready(function() { 
    $(".up,.down").click(function() { 
     var $element = this; 
     var row = $($element).parents("tr:first"); 

     if($(this).is('.up')){ 
     row.insertBefore(row.prev()); 
     } 
     else{ 
     row.insertAfter(row.next()); 
     } 

    }); 

});

deneyin kullanarak JSFiddle

+1

onu şu şekilde kısaltabilir: var row = $ (this) .closest ('tr'); –

İlgili konular