Hier ist die grundlegende HTML-Struktur für meine Seite:
%Vor%zB:
Es kann eine beliebige Anzahl von Elementen auf jeder Einrückebene hinter der Wurzel geben, aber es werden immer nur 3 Ebenen und nur ein Elternteil pro Ebene sein (dh es gibt immer genau 3 <ul>
s unter der Wurzel, aber die Anzahl von <li>
s ist variabel).
Ich erlaube dem Benutzer, diese Struktur mit dem jQuery UI Sortable-Plugin neu anzuordnen. Um ein neues Element hinzuzufügen, gibt es drei Gruppen von Elementen (Elemente der Ebene 1, Elemente der Ebene 2, Elemente der Ebene 3), die auf der Seite neben diesem Baum liegen. Der Benutzer kann von dort in die Liste ziehen, um ihn hinzuzufügen - aber er muss auf der entsprechenden Ebene hinzugefügt werden.
Ich arbeite bereits mit draggable
mit der Option connectToSortable
:
Wie gesagt, das funktioniert ... in allem außer IE. Die Gegenstände der Stufe 1 funktionieren perfekt, jedoch werden keine Gegenstände der Stufe 2 oder 3 zum Sortierbaren hinzugefügt. Wenn man versucht, eines der Level 2 oder 3 Items zu sortieren, wird das gesamte "Level One Parent" li übernommen und das ganze Ding bewegt.
Gibt es etwas, woran Sie denken könnten, dass dies in Firefox funktioniert, aber nicht in IE? Könnten Sie sich einen anderen Weg vorstellen, damit umzugehen?
Versionen: Firefox 3.6, IE7, jQuery 1.3.2, jQuery UI 1.7.2
Aktualisieren :
Hier ist der Arbeitscode von JSBin: Ссылка - Es ist nicht überraschend, dass es im IE nicht funktioniert, aber ich denke, das ist ein Problem mit JSBin ("_console ist undefiniert"). Um es halbwegs funktionierend zu sehen, kopiere oder füge es vielleicht in eine lokale Datei ein und öffne es in IE.
Hatte auch Probleme mit sortierbaren früher: mein Fall war Akkordeon und sortierbare Innere. Ich konnte keine klare Antwort erhalten, aber wenn Sie sich eine der Tree-Implementierungen ansehen, verwenden sie Drag-and-Drop direkt und nicht sortierbar.
Basierend auf dieser Erfahrung - nicht sehr genau weiß ich - würde ich Akiller zustimmen und sagen: nimm ein gutes Baum-Plugin, anstatt zu versuchen, das selbst mit sortierbaren zu tun. jsTree ist ziemlich gut und sollte den Job machen - es gibt auch andere, wenn jsTree aus irgendeinem Grund nicht Ihren Bedürfnissen entspricht.
Tags und Links internet-explorer jquery jquery-ui