【问题标题】:JQuery Drag and Drop: Accessing Sortable() DivsJQuery 拖放:访问 Sortable() div
【发布时间】:2011-09-06 10:19:37
【问题描述】:

我已经在我的网站中实现了 JQuery 拖放插件。它工作得很好,但是,我正在尝试访问一个正在排序的 div,但很难选择它。

所以,我试图选择每列中的每个“拖动框”。这通常是简单的工作,但由于某种原因,我无法访问它,也无法在 FireBug 中看到它。

有没有人知道如何使用循环访问 cols 内的“dragbox”项目?谢谢大家!

编辑:

我也用过 find() 但没用

   <div class="column" id="col1">   

        <div class="dragbox" id="item1" >   
            control goes here
        </div>
        <div class="dragbox" id="item1" >   
            <!-- control goes here -->
        </div>
  </div>


  <div class="column" id="col2">            
        <div class="dragbox" id="item3" >   
           <!-- control goes here -->
        </div>
   </div>

我正在使用以下 JQuery:

$('.column').sortable({
        connectWith: '.column',
        handle: '.widget-header-holder',
        cursor: 'move',
        placeholder: 'placeholder',
        forcePlaceholderSize: true,
        opacity: 0.4,
        stop: function(event, ui) {
            $(ui.item).find('.widget-header-holder').click();
            var sortorder = '';
            $('.column').each(function() {
                var itemorder = $(this).sortable('toArray');
                var columnId = $(this).attr('id');
                sortorder += columnId + '=' + itemorder.toString() + '&';
            });
            /*alert('SortOrder: ' + sortorder);*/
            console.log(sortorder);                
        }
    });

【问题讨论】:

  • 也许你想要.find? $('.column').find('.dragbox').each ...,在你的情况下你可以做$('.column').each(function() { $(this).find('.dragbox').each(...));
  • 是的,我用过 find 但没用
  • 是的 find 或 toArray 应该可以工作,不知道为什么它不适合你。也许设置一个 jsfiddle 脚本并检查。

标签: jquery jquery-ui drag-and-drop jquery-ui-sortable


【解决方案1】:

我试用了一些演示代码,它似乎对我来说工作正常。

http://jsfiddle.net/U24TS/1/

你可以看到 toArray 只要你有 id 就可以工作。

【讨论】:

  • 如果我将所有项目拖到单侧之后,我无法拖放到另一侧。为什么会这样?
猜你喜欢
  • 2016-12-04
  • 2020-06-11
  • 2014-05-29
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多