0

jQueryを使用したドラッグ可能なHTML要素に関する回答はたくさんありますが、ユーザーがリスト内のアイテムを具体的に並べ替えて、各オブジェクトのランキング(つまり、上位に1、下位に3)を保存できるようにしたいと思います通常のフォーム<input>

私はいくつかの Javascript をいじくり回し、さまざまなリソース(この優れたリソースを含む) を調べ始めました。ただし、実際の位置をオブジェクトに保存する方法ではなく、オブジェクトを移動<input>する方法についてのみ詳しく説明しています。どんな助けでも大歓迎です!

IDEALLY:
<input name="item-a-ranking" type="text">
-- the javascript then determines what text is "typed in" (i.e. 1, 2, or 3) for each.
4

1 に答える 1

4

JQueryUI プロジェクト、ウィジェット Sortable を使用できます: http://jqueryui.com/sortable/

要素の順序を取得するためにserializeというメソッドがあります。

編集

toArrayこのメソッドを使用して、要素の配列を取得することもできます。次に、配列をループして、必要に応じて特定の形式にフォーマットします。

編集2

ここに例があります: http://jsfiddle.net/yg4n6/7/

$('#btn').click(function() {
    var dataItem = $("#sortable").sortable("serialize");
    alert(dataItem);

    $.ajax({
        url: 'save-sorting-position.php',
        data : dataItem,
        success: function(data) {                
            alert('Positions saved');
        }
    });
});

アイデアは、php ページを呼び出してアイテムの位置をデータベースに保存することです。

$_GET($_POSTまたは$_REQUEST) 配列を調べてデータを取得します。

save-sorting-position.php :

<?php 
    $arr = unserialize($_REQUEST["item"]); 
    foreach($arr as $index => $position)
    {
        //store the position here
    }
?>
于 2012-12-29T10:45:59.717 に答える