私はjQueryUIのDraggableとDroppableのドキュメントを調べてきました。リストを別のリストにドラッグアンドドロップできるようにするさまざまな方法を見つけましたが、両方の方法はありませんか?
私のシナリオは、2つのリストがあるということです。
<div id='attached'>
<ul>
<li id='12'>An item</li>
<li id='48'>An item</li>
<li id='183'>An item</li>
</ul>
</div>
<div id='non-attached'>
<ul>
<li id='36'>An item</li>
<li id='873'>An item</li>
<li id='1639'>An item</li>
</ul>
</div>
リスト1からリスト2にアイテムをドロップする場合は、AJAXURLを実行する必要があります。
hello.asp?action=add&id=48
そして、リスト2からリスト1にアイテムをドロップした場合、別のAJAXURLを実行する必要があります-のように
hello.asp?action=remove&id=48
これはどうにか可能ですか?:)それは私のスクリプトのインターフェースをとても簡単にするでしょう:)
注:私はすでにjQueryUIに精通していますが、ドロップ可能とドラッグ可能の両方が私にとって新しいものです。今までは少なくとも:)
編集:
<ul id='attached'>
<li id='itemID_12'>An item</li>
<li id='itemID_48'>An item</li>
<li id='itemID_183'>An item</li>
</ul>
<ul id='non-attached'>
<li id='itemID_36'>An item</li>
<li id='itemID_873'>An item</li>
<li id='itemID_1639'>An item</li>
</ul>
$(function() {
$('#attached').sortable({ dropOnEmpty: true, items: 'li:not(.ui-state-disabled)', cursor: 'pointer', update: function(event, ui) { }, connectWith: '#non-attached' }).disableSelection();
$('#non-attached').sortable({ dropOnEmpty: true, items: 'li:not(.ui-state-disabled)', cursor: 'pointer', update: function(event, ui) { }, connectWith: '#attached' }).disableSelection();
};
今、私は更新を介してAJAXを介して正しいシリアル化されたデータを取得する必要があるだけです:{}?
編集:
とった!
var order = $('#attached').sortable('serialize',{key:'string'});
$.ajax({
type: 'POST',
cache: false,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
url: 'functions.asp?a=helloworld',
data: order
});
これで、functions.aspでrequest.form( "string")を実行すると、 "25、28、31、94、95"のような一連のIDが取得されます。..:)