Bonjour,

J'avais une question sur un drag & drop multi-sélection que j'ai trouvé (et qui fonctionne à merveille) et sur lequel j'avais une question, étant un peu curieux de nature.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
        $(function () {
            $(".list_a, .list_b").selectable({
                cancel: ".sort-handle"
            }).sortable({
                connectWith: ".connectedSortable",
                handle: ".sort-handle",
                placeholder: "portlet-placeholder ui-corner-all",
                helper: function (e, item) {
                    var helper = $("<li/>");
                    if (!item.hasClass("ui-selected"))
                    {
                        item.parent().children(".ui-selected").removeClass("ui-selected");
                        item.addClass("ui-selected");
                    }
                    var selected = item.parent().children(".ui-selected").clone();
                    item.data("multidrag", selected).siblings(".ui-selected").remove();
                    return helper.append(selected);
                },
                stop: function (e, ui) {
                    var selected = ui.item.data("multidrag");
                    ui.item.after(selected);
                    ui.item.remove();
                }
            });
Ma question se pose sur la partie helper du drag & drop.

var helper = $("<li/>"); & return helper.append(selected); : je n'arrive pas à connaître l'intérêt du return et de mettre une balise orpheline li (jamais vu çà) à qui on ajoute la liste des éléments déplacés.
J'ai joué un peu avec si je l'enlève et remplace par un return item.clone(); je n'ai qu'un élément sur le déplacement dans l'autre liste.

Si quelqu'un peut m'éclairer? je suis preneur !

merci d'avance.