2

ソート可能なプレースホルダーにソート可能な要素の位置 (またはインデックス) を表示したい。他の要素ではなく、最初の要素をドラッグするときに機能します (1 ではなく 0 の位置)。

確認してください: http://jsfiddle.net/upsidown/Hw2rJ/

私は何を間違っていますか?

4

3 に答える 3

5

私は同様の課題の解決策を探していましたが、これを見つけましたhttp://forum.jquery.com/topic/sortable-show-placeholders-position-and-give-it-a-numberと少しの適応(および修正) ) うまくいきました

$('.elements-sortable').sortable({
    placeholder: 'sortable-placeholder',
    opacity: 0.6,
    helper: 'clone',
    sort: function(event,ui){
        $(ui.placeholder).html(Number($('.elements-sortable > div:visible').index(ui.placeholder)+1));
    }
});
于 2013-10-08T19:45:49.007 に答える
1

ドラッグする要素の前に新しい要素を追加することができます

だからこのコードを試してみましょう

var position;
$(".elements-sortable").sortable({

placeholder: "sortable-placeholder",
opacity: "0.6",

start: function(event, ui) {

    position = position = Number($(".elements-sortable > div:not(.ui-sortable-helper)").index(ui.placeholder)+1);
    $(".sortable-placeholder").html('Drop me at position ' + position);

},

change: function(event, ui) {
    position = position = Number($(".elements-sortable > div:not(.ui-sortable-helper)").index(ui.placeholder)+1);
    $(".sortable-placeholder").html('Drop me at position ' + position);
}
});

jsFiddleでテストしました

于 2012-08-03T11:47:43.950 に答える
-2

jsFiddleでこれを試してください

$(".connectedSortable").sortable({
    connectWith: ".connectedSortable",
    stop: function (e,ui ) {
        $("body").append("<p> current position : " + $(ui.item).prevAll().length + "</p>");
    }
});
于 2013-12-04T06:31:14.923 に答える