1

データベースから取得されているリストがあります。リストはデータベースからのものであるため、リストの数は未定義です。これらのリストは、他のリストにドラッグできます。ここにコードがあります

<?php while(..condition..){ ?>
<ul id="test-list-sub<?=$x?>" class="connectedSortable2" style="padding-bottom:10px;">
  <li id="listItemSub_<?=$row['id']?>">
    <table>...content here...</table>
  </li>
</ul>
<?php $x++; } //end while ?>

Javascript

for(var y=0; y<<?=$x?>; y++){

    $("#test-list-sub"+y).sortable({
      handle : '.handle',
      connectWith: ".connectedSortable2",
      update : function () {
          var order = $("#test-list-sub"+y).sortable('serialize');
          alert(order);
        //$("#info2").load("process-sortable.php?"+order+"&panel=2");
      }
    });

}

このプロセスは機能しますが、問題はリスト項目を取得しようとすると[オブジェクト] [オブジェクト]を取得しますが、変更しようとすると

var order = $("#test-list-sub"+y).sortable('serialize');

var order = $("#test-list-sub0").sortable('serialize'); //or any number 0-number of lists

値を取得します。sortable の「update」部分で渡される「値 y」は、y の最後の値のようです。リストから値を取得するにはどうすればよいですか?

4

1 に答える 1

0

答えを見つけた

$('.connectedSortable2').each(function() {
        var pid = $(this).attr('id').split('_')[1];
        $("#test-list-sub_"+pid).sortable({
          handle : '.handle',
          connectWith: ".connectedSortable2",
          update : function () {
              var order = $("#test-list-sub_"+pid).sortable('serialize');
              alert(order);
            //$("#info2").load("process-sortable.php?"+order+"&panel=2");
          }
        });
    });

each 関数を使用してそれらを取得しました。彼らは同じクラスを持っているからです。答えはjquery sortable > nested ulsからです

于 2012-11-15T06:00:31.240 に答える