0

並べ替え可能な写真リストを作成しようとしています。Draggable/Sortableによって生成された配列を念頭に置いてすべて試しましたが、機能しません。間違った方法で使用していると確信していますが、元の位置と元の位置+1(写真を次の位置に移動した場合)の場合、位置は正しく報告されますが、より高い位置ではすべてが混乱します。

あなたは私が話していることをここで見ることができます:http: //jsfiddle.net/sovidiu/6EvFJ/

最初の写真を2番目の位置に移動してみてください->動作3番目、4番目の位置にある最初の写真を移動してみてください。->動作しません。

4

1 に答える 1

0

何を求めているのかよくわかりませんが、インデックスとして(imgOrder2.indexOf( "1")+ 1)を使用する方が理にかなっています。「写真1の位置:x」が正しく表示されるようになりました。また、なぜ毎回imgOrder2配列に「sortable」というIDを追加するのかわからないので、それを削除しました。

var imgOrder = '';

$(function() {
  $("#sortable").sortable({
    update: function(event, ui) {
    var imgOrder = new Array();

      imgOrder = $("#sortable").sortable('toArray').toString();
      imgOrder2 = $("#sortable").sortable('toArray');
      $('#ceva').text(imgOrder2);
      $('#p1').text(imgOrder2.indexOf("1")+1);
      $('#p2').text(imgOrder2.indexOf("2")+1);
      $('#p3').text(imgOrder2.indexOf("3")+1);
      $('#p4').text(imgOrder2.indexOf("4")+1);
    }
  });
  $("#sortable").disableSelection();


});
于 2012-08-10T14:51:07.903 に答える