2010-09-28 20 views
10

Tengo esta lista que se puede ordenar con ordenable. ¿Cómo puedo mover el elemento li con la clase .neutral al final de la lista cuando finaliza la clasificación?jQuery mover elemento de la lista al final de la lista

$(".thumbs").sortable({ 
    stop: function(event, ui) { 
     // move .neutral at the end of this list 
    } 
}); 

<ul class="thumbs"> 
    <li>red</li> 
    <li>green</li> 
    <li class="neutral">none</li> 
    <li>yellow</li> 
    <li>blue</li> 
<ul> 

Respuesta

8

Se puede añadir (en movimiento) a la final de la lista con .appendTo(), así:

$(".thumbs").sortable({ 
    stop: function(event, ui) { 
     $(this).find('.neutral').appendTo(this); 
    } 
}); 

You can give it a try here, esto se lleva todos los .neutral elementos en el interior y los añade a this que es el ul.thumbs en el que estamos actualmente, esto funcionará para múltiples listas independientes de miniaturas también.

+0

hi Nick. De hecho, estoy intentando algo con droppable y ordenable, así que no lo hago por mí. ¿Podrías echarle un vistazo a http://jsfiddle.net/Y2ER7/? Está basado en el ejemplo de jquery.ui.droppable shopping-cart. (Necesito encontrar una manera de obtener el src de los pulgares también por cierto) – FFish

3

El equivalente sería el siguiente:

$(".neutral").appendTo(".thumbs"); 
OR 
$(".thumbs").append(".neutral"); 

se puede mover un elemento en torno a una página seleccionando y añadiendo o anteponiendo en otro lugar.

NB: tenga cuidado con el alcance: si está utilizando clases y esta IU aparece varias veces en una página, los vendedores mencionados anteriormente deberán tener un ámbito en la instancia actual utilizando el parámetro ui pasado a la función de detención.

Cuestiones relacionadas