Ich habe ein Problem im Zusammenhang mit jQuery ziehbar und absetzbar. Hier ist eine Beschreibung was ich machen möchte.jQuery ziehbare Rückstellung basierend auf Bedingung
Erstens: Ich habe zwei Divs. Einer ist <div id="selected">
und ein anderer ist <div id="container">
. "container" hat 10 <li>
, die ziehbar sind und in "selected" abgelegt werden können. Hier ist der Code:
<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>
Zweitens: ich alle 5 <li>
s von "Container" ermöglichen wollen "ausgewählt" div. Wenn jemand versucht, 6. <li>
hinzuzufügen, darf es dem Benutzer nicht erlauben. Das ist der 6. <li>
, der in "selected" eingefügt wird, muss mit jQuery draggable option revert zurückgesetzt werden.
d. H. $("#container li").draggable({ revert: true });
Hier ist Javascript-Code dafür.
$(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
}
}
});
});
Das funktioniert gut.
Drittens: Aber wenn ich eine <li>
von "ausgewählt" zu "Container" ziehen, die "ausgewählt" div nur 4 <li>
s haben. In dieser Situation sollte der Benutzer später in der Lage sein, ein weiteres <li>
in "ausgewähltes" div von "container" div hinzuzufügen. Aber leider funktioniert es nicht. Alle <li>
s, die ich versuche, in "selected" zu ziehen, werden aufgrund der if (total >= 5)
Bedingung zurückgesetzt.
Kann mir jemand helfen, dies mit draggable revert Option zu lösen? Bitte ...
@Nick Craver: Ja, es funktioniert. Hier ist das neue Problem, dass ich sehen kann, dass ich LI-Element von "Container" auf "ausgewählt" ziehe. Aber während LI von ausgewählt in den Container gezogen wird, scheint es, dass das Element nicht gezogen wird. Aber am Ende kann ich sehen, dass LI von ausgewählt zu Container bewegt wird. Gibt es eine Lösung, den Drag-Effekt beim Ziehen von ausgewählt in den Container zu sehen? – gautamlakum
@ lakum4stackof - Sie sollten den Effekt bekommen, fügen Sie immer noch ziehbare irgendwo hinzu? –
@Nick Craver - Ich kann den Drag-Effekt nicht sehen, wenn ich von ausgewählten zurück zu Container-Div ziehe. Aber am Ende, als Folge ich bin LI bewegt von ausgewählten Div zu Container div und die LI wird jedes Mal am Ende der LI-Liste hinzugefügt. – gautamlakum