Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery通过选项卡连接的列表-数据库交互_Jquery_Tabs_Draggable_Jquery Ui Sortable_Droppable - Fatal编程技术网

Jquery通过选项卡连接的列表-数据库交互

Jquery通过选项卡连接的列表-数据库交互,jquery,tabs,draggable,jquery-ui-sortable,droppable,Jquery,Tabs,Draggable,Jquery Ui Sortable,Droppable,我有两个连接的列表,每个都在jQueryUI选项卡中。我希望列表通过选项卡连接,以便将li元素从一个ul列表拖放到选项卡名称上时,应将li元素附加到目标ul列表 我已经能够在一定程度上使用JQuery和实现这一点,但是我还无法在drop事件上构造所需的回调函数 回调需要(a)标识可拖动项的id,(b)基于它被拖放到哪个可拖放选项卡上的目标列表,以及(c)通过GET/POST将两者发送到一个PHP脚本,该脚本将执行数据库交互(将项从一个数据库表移到另一个数据库表) 以下是我目前使用的JQuery(

我有两个连接的列表,每个都在jQueryUI选项卡中。我希望列表通过选项卡连接,以便将li元素从一个ul列表拖放到选项卡名称上时,应将li元素附加到目标ul列表

我已经能够在一定程度上使用JQuery和实现这一点,但是我还无法在drop事件上构造所需的回调函数

回调需要(a)标识可拖动项的id,(b)基于它被拖放到哪个可拖放选项卡上的目标列表,以及(c)通过GET/POST将两者发送到一个PHP脚本,该脚本将执行数据库交互(将项从一个数据库表移到另一个数据库表)

以下是我目前使用的JQuery(第一部分处理sortable1和sortable2的内部排序):

(由于到目前为止我的所有尝试都没有成功,所以drop even回调为空。)

以下是列表的html输出:

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Tab 1</a></li>
        <li><a href="#tabs-2">Tab 2</a></li>
    </ul>
    <div id="tabs-1">
        <ul id="sortable1" class="connectedSortable ui-helper-reset">
            <li class="ui-state-default">Item 1</li>
            <li class="ui-state-default">Item 2</li>
            <li class="ui-state-default">Item 3</li>
            <li class="ui-state-default">Item 4</li>
            <li class="ui-state-default">Item 5</li>
        </ul>
    </div>
    <div id="tabs-2">
        <ul id="sortable2" class="connectedSortable ui-helper-reset">
            <li class="ui-state-highlight">Item 1</li>
            <li class="ui-state-highlight">Item 2</li>
            <li class="ui-state-highlight">Item 3</li>
            <li class="ui-state-highlight">Item 4</li>
            <li class="ui-state-highlight">Item 5</li>
        </ul>
    </div>
</div>

很好的解决方案。我也很难找到拖动元素的值。除了这个问题,我还必须让sortable函数接受动态生成的未知数量的列表。这可能对访问此问题的人有用

var num_lists = $('[id^=tabs-]').length;
for(i=1;i<=num_lists;i++){
  $("#sortable"+i).sortable().disableSelection();
}
var num_list=$('[id^=tabs-]')。长度;
对于(i=1;iGlad),您应该将您的解决方案添加为答案并接受它。
    var $tab_items = $( "ul:first li", $tabs ).droppable({
        accept: ".connectedSortable li",
        hoverClass: "ui-state-hover",
        drop: function( event, ui ) {

            var $id = ui.draggable.attr('id');

            var $item = $( this );

            var $list = $( $item.find( "a" ).attr( "href" ) )
                .find( ".connectedSortable" );

            ui.draggable.hide( "fast", function() {
                $tabs.tabs( "select", $tab_items.index( $item ) );
                $( this ).appendTo( $list ).show( "fast" );
            });


            var $listname = $list.attr('id');

                $.get("tester.php", {list:$listname, id:$id}, function(data){ 

        }); 



        }
    });
});
var num_lists = $('[id^=tabs-]').length;
for(i=1;i<=num_lists;i++){
  $("#sortable"+i).sortable().disableSelection();
}