То, что вы хотите сделать, должно быть примерно таким:
я есть проблема, связанная с jQuery, перетаскиваемым и сбрасываемым. Вот описание того, что я хочу сделать.
Первый: У меня есть два деления. Один<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 перетаскиваемая опция вернуться.
то есть$("#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. Но, к сожалению, это не работает. Все<li>
s я пытаюсь перетащить в «выбранные» меняются из-заif (total >= 5 )
состояние.
Может ли кто-нибудь помочь мне решить эту проблему с помощьюперетаскиваемый возврат вариант? Пожалуйста...