0

一日を検索し、いくつかの解決策を試した後、どれも私にはうまくいきませんでした。

ドラッグ可能は、内のリストアイテム<ul>です。Droppableはその隣のdivにあります。今のところ基本的なドラッグですが、ヘルパーのクローンは作成されていません。

オンクリックしたい:

  • ドロップ可能な領域からすべてのドラッグ可能な位置を取得します。(ドキュメントに対する絶対位置)

    • :ドラッグ可能な位置にあるすべて<li>の人が一意のIDを取得しました。(draggablesリストはajaxコールバックから構築されるため、xmlの解析中にIDを追加しました:<li id="'+uid+'">..。
    • 次のような文字列形式ですべての位置を取得したいと思います。varsend_new_positions="id1; x1、y2; id2; x2、y2"; 例:「1; 108,57」は、id = 1、xPos = 108、yPos=57のliを意味します。

問題:

ドラッグ可能な領域内にすべてのリストアイテムがないため、onclickですべてのリストアイテムを収集するという昔ながらの方法はできません。デバッガーでは、そのように機能しないことがわかります。ドロップ可能はクリーンなままで、ドラッグ可能はインラインスタイルで更新されます。例:<li style="position: relative; left: -270px; top: 127px;" class="ui-draggable dropped">...

代わりに<li>、クラス「ui-draggabledropped 」でそれぞれを見つけて位置を抽出するドラッグ可能のセレクターを構築する必要がありますか?結局のところ、私は相対的な位置しか得られないので、それは難しい方法だと思います。

代わりに、私のロジックをdrop:function()に追加し、ドロップされるすべてのものに文字列形式を追加する<li>必要があります。もしそうなら、どのように私はこの文字列データをすべてのドロップに添付する必要があり<li>ますか?

行くための最良の方法は何ですか?

4

1 に答える 1

0

ドラッグ可能なすべての要素をループして、文字列を作成します。

$('#myButton').click(function(){
    var myStringPosition = null;
    $('.ui-draggable').each(function(){
        myStringPosition = $(this)[0].id + ';' + $(this).css('left') + ';' + $(this).css('top');
    });

    alert(myStringPosition);
});
于 2012-12-13T07:23:55.630 に答える