【发布时间】: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