2009-11-02 8 views
1

J'ai créé une liste triable et un élément déplaçable pour ajouter de nouveaux éléments.jquery draggable to sortable

J'ai un bouton de suppression que je veux rendre visible lorsque j'ajoute le nouvel élément du chariot.

Comment câbler les événements?

Ceci est l'élément qui est déplacé du draggable vers le sortable.

<a id="btn" class="ContentItemSelect" > 
    <span title="Remove" class="ContentItemRemove" id="Remove"></span> 
</a> 

Répondre

0

Nous avons vraiment besoin de plus du balisage et de javascript pertinents pour donner une réponse utile, mais en général vous assemblez simplement le code HTML requis et l'ajouter à l'élément que vous avez créé.

Une note additionnelle rapide cependant - vous utilisez des identifiants étrangement génériques. Vous savez que vous ne pouvez avoir qu'un identifiant unique par page, donc une fois que vous avez ajouté un seul élément avec un identifiant de 'btn' et un span avec un identifiant de 'remove' vous ne pouvez plus en ajouter avec le même id à d'autres éléments traînés?

1

Sortable inclut une option appelée receive, qui vous permet de définir une fonction qui sera appelée lors de l'ajout d'un élément. En supposant que ce que vous essayez de faire est de masquer la durée, vous pouvez faire quelque chose comme ce qui suit:

Il devrait être assez clair comment le transférer à un autre cas d'utilisation si ce n'était pas votre intention cependant.

$("#sortable").sortable({ 
    receive: function(event, ui) { 
     $("#" + $(ui.item).attr("id")).find(".ContentItemRemove").show(); 
    } 
}); 

Je ne suis pas tout à fait sûr de la $ (« # » + $ (ui.item) .attr (« id »)) partie, car il semble trop complexe et suppose évidemment que tout objet que vous ajoutez a un identifiant unique (qu'il devrait de toute façon, mais qui mérite d'être mentionné). Cela a bien fonctionné dans un vieux morceau de code que j'ai, mais je suppose qu'il peut être simplifié.