Javascript Jquery列表拖放

Javascript Jquery列表拖放,javascript,jquery,Javascript,Jquery,我有一个Jquery拖放列表,我想使用jqueryajaxpost在MYSQL中立即更新它 因为我可以在列表(不止一个列表)之间拖动元素,所以我需要获取父ID(父ID是列表类别ID-可拖动对象被拖动到的位置) 当我从一个类别/列表拖动到另一个类别/列表时,我总是获得前一个ID 例如: 第1类----------第2类 如果我要将某个东西从CAT1拖到CAT2,ID将是CAT1,而不是新的类别ID 我在下面添加了我的代码: Jquery: <script src="js/jquery.min

我有一个Jquery拖放列表,我想使用jqueryajaxpost在MYSQL中立即更新它

因为我可以在列表(不止一个列表)之间拖动元素,所以我需要获取父ID(父ID是列表类别ID-可拖动对象被拖动到的位置)

当我从一个类别/列表拖动到另一个类别/列表时,我总是获得前一个ID

例如:

第1类----------第2类

如果我要将某个东西从CAT1拖到CAT2,ID将是CAT1,而不是新的类别ID

我在下面添加了我的代码:

Jquery:

<script src="js/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery.ui.core.js"></script>
    <script src="js/jquery.ui.widget.js"></script>
    <script src="js/jquery.ui.mouse.js"></script>
    <script src="js/jquery.ui.sortable.js"></script>
<script>
    $(function() {
        $( "#sortable1, #sortable2" ).sortable({
            connectWith: ".connectedSortable"
        }).disableSelection();
    });
    </script>


    <script type="text/javascript">
    $(document).ready(function(){
    $(".mouseup").mouseleave(function(){
    var sparent = $(this).parent().attr("id");
    alert(sparent);
    });
    });
    </script>
<div class="demo">
<div class="box">
<ul id="sortable1" class="connectedSortable">
    <li class="ui-state-default mouseup">Item 1</li>
    <li class="ui-state-default mouseup">Item 2</li>
</ul>
</div>
<div class="box">
<ul id="sortable2" class="connectedSortable">
    <li class="ui-state-highlight mouseup">Item 1</li>
    <li class="ui-state-highlight mouseup">Item 2</li>
</ul>
</div>
</div>

$(函数(){
$(“#可排序1,#可排序2”)。可排序({
connectWith:“.connectedSortable”
}).disableSelection();
});
$(文档).ready(函数(){
$(“.mouseup”).mouseleave(函数(){
var sparent=$(this.parent().attr(“id”);
警觉(稀疏);
});
});
列出HTML:

<script src="js/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery.ui.core.js"></script>
    <script src="js/jquery.ui.widget.js"></script>
    <script src="js/jquery.ui.mouse.js"></script>
    <script src="js/jquery.ui.sortable.js"></script>
<script>
    $(function() {
        $( "#sortable1, #sortable2" ).sortable({
            connectWith: ".connectedSortable"
        }).disableSelection();
    });
    </script>


    <script type="text/javascript">
    $(document).ready(function(){
    $(".mouseup").mouseleave(function(){
    var sparent = $(this).parent().attr("id");
    alert(sparent);
    });
    });
    </script>
<div class="demo">
<div class="box">
<ul id="sortable1" class="connectedSortable">
    <li class="ui-state-default mouseup">Item 1</li>
    <li class="ui-state-default mouseup">Item 2</li>
</ul>
</div>
<div class="box">
<ul id="sortable2" class="connectedSortable">
    <li class="ui-state-highlight mouseup">Item 1</li>
    <li class="ui-state-highlight mouseup">Item 2</li>
</ul>
</div>
</div>

    第1项 第2项
    第1项 第2项
任何帮助都将不胜感激

提前谢谢你

您想要的是:


将代码放入停止回调将允许您检查正确的ID。

您需要处理的事件是
已收到

 $(".connectedSortable" ).on( "sortreceive", function(event, ui) { 
     alert(ui.item.parent()[0].id); 
     // also ui.sender will hold original list, from where element was taken
 });
已编辑:取决于您是否需要处理刚刚重新排序的项目时的大小写,即您在同一列表中拖放,或者是否要使用
已接收
停止
事件。
received
仅当您拖动到另一个列表时才会触发。
stop
即使您将项目保留在同一列表中也会触发。

发布您正在使用的实际拖放代码,是jquery++还是jquery.ui?已更新-希望这是您要求的是我将添加的确切代码,或者将选择器更改为我当前在Dragables上的mouseup类?谢谢-您忘记关闭警报,但不用担心我自己发现了错误-谢谢您的帮助:)