【发布时间】:2011-05-16 13:35:45
【问题描述】:
我遇到了一个与 jQuery 可拖放相关的问题。这是描述我想做的事情。
首先:我有两个 div。一个是<div id="selected">,另一个是<div id="container">。 “容器”有 30 个<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>29</li>
<li>30</li>
</ul>
</div>
第二:我想允许任何 10 个<li>s 从“容器”到“选定”的 div。如果有人试图添加第 11 个<li>,那么它一定不允许用户添加它。即第 11 个<li> 必须使用 jQuery 可拖动选项 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 >= 10) {
$("#container li").draggable({ revert: true });
} else {
//$("#container li").draggable({ revert: false });
}
}
});
});
这工作正常。
第三:但是当我将<li>从“选定”拖到“容器”时,“选定”div将只有9个<li>s。所以在这种情况下,稍后用户应该能够将另一个<li> 从“容器” div 添加到“选定” div 中。但不幸的是,它不起作用。由于if (total >= 10 ) 条件,我尝试拖放到“选定”中的所有<li>s 都将被还原。
谁能帮我解决这个问题?请...
【问题讨论】:
标签: javascript jquery jquery-ui jquery-plugins jquery-selectors