【发布时间】:2010-11-29 10:34:36
【问题描述】:
我遇到了一个与 jQuery 可拖放相关的问题。这是描述我想做的事情。
首先:我有两个 div。一个是<div id="selected">,另一个是<div id="container">。 “容器”有 10 个<li>,它们可以拖放到“选定”中。这是代码:
<div id="selected">
<ul class="sortable-list">
</ul>
</div>
<div id="container">
<ul class="sortable-list">
<li>1</li>
<li>2</li>
<li>....</li>
<li>9</li>
<li>10</li>
</ul>
</div>
第二:我想允许任何 5 个<li>s 从“容器”到“选定”的 div。如果有人试图添加第 6 个<li>,那么它一定不允许用户添加它。即第 6 个<li> 必须使用jQuery draggable option revert 恢复,将被插入到“选定”中。
即$("#container li").draggable({ revert: true });
这是 javascript 代码。
$(document).ready(function(){
var total = 0;
$("#selected").droppable({
drop: function() {
total = $("#selected li").length;
//alert(total);
if (total >= 5) {
$("#container li").draggable({ revert: true });
} else {
// below code is not working
$("#container li").draggable({ revert: false }); // this is making whole feature weird. I can drag all the <li> anywhere
}
}
});
});
这工作正常。
第三:但是当我将<li>从“选定”拖到“容器”时,“选定”div将只有4个<li>s。所以在这种情况下,稍后用户应该能够将另一个<li> 从“容器” div 添加到“选定” div 中。但不幸的是,它不起作用。由于if (total >= 5 ) 条件,我尝试拖放到“选定”中的所有<li>s 都将被还原。
谁能帮助我使用draggable revert 选项解决这个问题?请...
【问题讨论】:
标签: javascript jquery jquery-ui jquery-plugins