基本的なドラッグ&ドロップ機能の「どのように機能するか」と「どのように設計および実装する必要があるか」の側面を疑問に思っています。
私はまだそのような機能を実装したことがありません。私は自分のプロジェクトの 1 つでそうする予定であり、それを実装する方法についていくつかのアイデアがあります。私は自分が正しい道を進んでいることを確認したかったのですが、おそらく皆さんにもこの問題について何か言いたいことがあります...
次のようにリストされ、データベースから取得された 5 つの要素があるとします。
<div id="1">this is content for 1</div>
<div id="2">this is content for 2</div>
<div id="3">this is content for 3</div>
<div id="4">this is content for 4</div>
<div id="5">this is content for 5</div>
これはデータベースから取得されるため、出力する順序を区別するために「sequence」または「order」と呼ばれるフィールドがあることがわかっています。また、現在、「シーケンス」列の値が div の ID と同じであると想像してみましょう。そう: 1
、2
、3
、4
および5
それぞれ。
私の質問と考え;
div をドラッグ4
して と の間にドロップする1
と2
; そこからのステップは何ですか?例えば:
ドラッグされている div の ID を決定します ( this と呼びましょう
div-a
)後(または前)に挿入されている div の ID を決定し
div-a
ます。この場合は後、したがって div の後にid
1
( this と呼びましょうdiv-b
)DB の のシーケンスを更新
div-a
し、現在のシーケンスに設定しますdiv-b
このステップの後、私はすべて混乱しています...すべてのdivを数え、divの順序に従って、それに応じてDBを更新しますか? それとも私は完全に間違っていますか?別の方法はありますか?
回答ありがとうございますが、これを行うためのプラグインやその他のものがあることは知っていますが、私はそのロジック部分にのみ興味があります。