【问题标题】:jquery draggable & droppable get source container (that draggable came from)jquery draggable & droppable 获取源容器(可拖动的来自)
【发布时间】:2013-06-13 05:08:22
【问题描述】:

我为不同的答案制作了这个 jsfiddle,我想知道如何获取 droppable 来自的源容器

http://jsfiddle.net/d7wsz/8/

jquery 是

$("#Table1 tr:not(.disabled), #Table2 tr:not(.disabled), #Table3 tr:not(.disabled)").draggable({
   helper: 'clone',
   revert: 'invalid',
   start: function (event, ui) {
       $(this).css('opacity', '.5');
         },
  stop: function (event, ui) {
      $(this).css('opacity', '1');
   }
});

$("#Table1, #Table2, #Table3").droppable({
 drop: function (event, ui) {
   $(ui.draggable).appendTo(this); 
    alert($(ui.draggable).text() +
          ' was draged from ' +
          'XX' + ' to ' +
          $(this).attr('id') + '.');

 }

});

html 是

<h1>Table 1</h1>
<table id="Table1">
 <tr><td>Row 3</td></tr>  
 <tr class='disabled'><td>Row 4</td></tr>  
 <tr><td>Row 5</td></tr>  
</table>

<h2>Table 2</h2>
<table id="Table2">
 <tr><td>Row 8</td></tr>  
 <tr class='disabled'><td>Row 9</td></tr>  
 <tr><td>Row 10</td></tr>
 </table>   

<h2>Table 3</h2>
<table id="Table3">
 <tr><td>Row 11</td></tr>  
 <tr><td>Row 12</td></tr>
</table>   

【问题讨论】:

    标签: jquery-ui jquery-ui-draggable


    【解决方案1】:

    您可以使用在可拖动对象的start 事件中设置的变量,并在可放置对象的stop 事件中获取该信息。

    $(function () {
        var sourceElement;
        $("#Table1 tr:not(.disabled), #Table2 tr:not(.disabled), #Table3 tr:not(.disabled)").draggable({
            helper: 'clone',
            revert: 'invalid',
            start: function (event, ui) {
                $(this).css('opacity', '.5');
                //NEW
                sourceElement = $(this).closest('table').attr('id');
            },
            stop: function (event, ui) {
                $(this).css('opacity', '1');
            }
        });
    
        $("#Table1, #Table2, #Table3").droppable({
            drop: function (event, ui) {
                $(ui.draggable).appendTo(this);
                //alert sourceElement
                alert($(ui.draggable).text() +
                    ' was draged from ' + sourceElement + ' to ' + $(this).attr('id') + '.');
    
            }
        });
    
    });
    

    查看我更新的jsfiddle 如果您的页面上的表格不止这些表格,您可能会考虑为它们提供一个类以正确识别它们。

    【讨论】:

      猜你喜欢
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 2012-07-02
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 2012-01-14
      相关资源
      最近更新 更多