0

私が使用: http://johnny.github.io/jquery-sortable/

このプラグインを使用すると、リストの順序またはテーブルの行の順序を変更できます (私の場合です)。たとえば、マウスで 4 行目を 2 番目の位置にドラッグします。新しい順序にアクセスできるプラグイン メソッドsort.sortable("serialize")の幅。

しかし、 sort.sortable("serialize") の使い方は?

ここに例があります: http://johnny.github.io/jquery-sortable/#table テーブル行の新しい順序を myurl.php に送信したいと思います。

sortable("serialize")を使用して$.post経由で新しい注文をPHP スクリプトに送信する方法は?

HTML:

<table class="tablesort">
<tbody>
<tr data-id="39"><td>item 1</td></tr>
<tr data-id="37"><td>item 2</td></tr>
<tr data-id="40"><td>item 3</td></tr>
<tr data-id="61"><td>item 4</td></tr>
</tbody>
</table>

JavaScript:

// Initialize the plugin
var sort = $(".tablesort").sortable({

  // After changing the order           
  onDrop: function ($item, container, _super) {
    var myObject = sort.sortable("serialize");

    // How to prepare *myObject* for sending?

    $.post('myurl.php', {blah:myObject}, function(){});
});
4

3 に答える 3

0

出力をソートしてjson形式に変換するスクリプトを作成しました:

function start_sorting(classvariable){
var output=[];
var parent="";
var selector=$("."+classvariable+" li");
selector.each(function(key,value){
var id=selector.eq(key).attr('id');
var index=key;
        if(selector.eq(key).parent().parent().parent().find(">li").length==0){
        parent='0';
        }else{
        parent=selector.eq(key).parent().parent().parent().find(">li").attr('id');
        }
output.push({id:id,index:index,parent:parent});
});
console.log( JSON.stringify(output));
}
于 2016-06-13T19:49:28.030 に答える
0

そのプラグインを使用してテーブルの行が事前に並べ替えられている場合は、行を反復処理して、それらの ID を配列に追加できます。

onDrop: function ($item, container, _super) {
    var myObject = sort.sortable("serialize");
    var sorted = [];

    $('tr').each(function () {
        sorted.push($(this).data('id'));
    });

    $.post('myurl.php', {blah: sorted}, function(){});
});

またblah、オブジェクトであることを示すために中かっこで囲みました。そうしないと、構文エラーが発生します。

于 2013-05-01T17:05:12.010 に答える