jquery - 如何将变量从 jQuery Draggable 传递到 Droppable

标签 jquery variables draggable droppable

我正在尝试使用 jQuery Draggable/droppable 将列表项拖动到 div,此时列表项将从可拖动的 ul 中删除,并且将进行 ajax 调用来删除 MySQL 数据库中的相应项目。

HTML:

<ul id="draggable">
 <li id="list_1">List item 1</li> // Incrementing ID nos. from database
 <li id="list_2">List item 2</li>
 <li id="list_3">List item 3</li>
</ul>

<div id="droppable"></div>

到目前为止的 jQuery:

$('#draggable li').draggable({
 drag: function(event, ui) {
  var id = $(this).attr('id').split("_");
  id = id[1];    // OK so far - but how to pass this to droppable?
  }
});

$('#droppable').droppable({
 drop: function(event, ui) {
  // How to get the id from draggable here so the correct list item is acted on?
  $('#draggable li').remove();
  $.ajax({ 
   url: "delete.php",
   type: "GET",
   data: {
    'id': id,
    'user_id': user_id  // user_id comes from PHP
  }, // end ajax        }
});

更新

非常感谢您的回复。我使用以下方法让它工作:

<script>
 var user_id = "<?php print($user_id); ?>";

 $(document).ready(function() {

    $('#draggable li').draggable({
      helper: 'clone'
    });

    $('#droppable').droppable({
      accept: '#draggable li', 
       drop: function(ev, ui) {
         var id = $(ui.draggable).attr('id').split("_");
         var movie_id = id[1];
         $('#draggable li#list_' + id).remove();

         $.ajax({ // begin add ajax
            url: "delete.php",
            type: "GET",
            data: { // begin add data
              'id': id,
               'user_id': user_id
            } // end data
         }); // end ajax

       } // end drop function
    }); // end droppable
 }); // end ready

</script>

我觉得没问题 - 你看到的有什么问题吗?

最佳答案

您可以在放置函数中使用 ui.draggable.attr('id') 来访问拖动的元素。

Fiddle

See Documentation

关于jquery - 如何将变量从 jQuery Draggable 传递到 Droppable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021408/

相关文章:

jquery - CSS 无法在 Firefox 上加载,适用于 Chrome/Safari

javascript - 页面周围的静态框架随着滚动改变颜色

javascript - 将 HTML 列表转换为 JSON

variables - 将值 append 到 make 文件中的变量

variables - ansible ufw 配置 : default config different from expected

jquery - Div 在调整大小时向上(并超过)可调整大小的 div

Jquery 拖拽 : Removing an element changes position of other dropped elements

javascript - jQuery 对话框的自定义关闭按钮?

javascript - 将 popupWindow = window.open 与 JavaScript 变量一起使用

jquery - 如何阻止原始 jQuery 可拖动图像在单击时重新调整大小