ドラッグ可能な div の ID が、droppable_box にドロップされた場合にアラート ボタンにカンマ区切りのリストとして表示されるようにします。代わりに、リストとしてではなく、ドラッグされた div ごとにアラートが表示されます。
<script type="text/javascript">
$(document).ready(function(){
$( "#draggable1" ).draggable({ grid: [ 20,20 ] });
$( "#draggable2" ).draggable({ grid: [ 20,20 ] });
$( "#draggable3" ).draggable({ grid: [ 20,20 ] });
$( "#droppable_box" ).droppable({
drop: function( event, ui ) {
var currentId = $(ui.draggable).attr('id');
var stuff = [];
$.each($(ui.draggable), function(i,e) {
stuff.push(e.id);
});
var energy = stuff.join(", ");
var data = "X-Requested-With=XMLHttpRequest";
$('#myId').click(function(){
$.post (
"process.php",
data,
function(data)
{
alert(energy);
},
'html'
);
});
}
});
});
</script>
HTMLには、ドラッグ可能な3つのdivがあります
<div id="draggable1" class="draggable_meal"></div>
<div id="draggable2" class="draggable_meal"></div>
<div id="draggable3" class="draggable_meal"></div>
jquery を少し変更して、ここに公開しました。
ビューソースを見ることができます。ありがとう。
process.php では、ドラッグした div の数に応じて、1 ~ 3 個の配列が得られます。を使用して $_REQUEST オブジェクトを配列にプッシュしたい
foreach ($_REQUEST as $key => $value) {
array_push($stack,$value);
}
print_r($stack);
しかし、それぞれキーがゼロの1〜3個の配列が得られます。たとえば、ドラッグされた 3 つの div から 1 つの配列を取得するにはどうすればよいですか?