jQuery UI: Hierarchische Liste sortieren

Noeden

Erfahrenes Mitglied
Hallo Leute,

ich habe ein kleines Problem und hoffe es Lösen zu können, ohne selber eine sortierfunktion für Listen schreiben zu müssen. Ich habe folgende Liste:

HTML:
<ul class="sort_this">
	<li class="element_1">
		ELEMENT 1		
	</li>	 	
	<li class="element_2">
		ELEMENT 2
		<ul class="sort_this">
			<li class="element_1">
				ELEMENT 1		
			</li>	 	
	 		<li class="element_2">
				ELEMENT 2			
			</li>
			<li class="element_3">
				ELEMENT 3		
			</li>	 	
	 		<li class="element_4">
				ELEMENT 4			
			</li>
			<li class="element_5">
				ELEMENT 5		
			</li>	 	
			<li class="element_6">
				ELEMENT 6			
			</li>
			<li class="element_7">
				ELEMENT 7			
			</li>
			<li class="element_8">
				ELEMENT 8		
			</li>
			<li class="element_9">
				ELEMENT 9		
			</li>
	 	</ul>			
	</li>
	<li class="element_3">
		ELEMENT 3		
	</li>	 	
	<li class="element_4">
		ELEMENT 4			
	</li>
	<li class="element_5">
		ELEMENT 5		
	</li>	 	
	<li class="element_6">
		ELEMENT 6
		<ul class="sort_this">
			<li class="element_1">
				ELEMENT 1		
			</li>	 	
	 		<li class="element_2">
				ELEMENT 2			
			</li>
			<li class="element_3">
				ELEMENT 3		
			</li>	 	
	 		<li class="element_4">
				ELEMENT 4			
			</li>
			<li class="element_5">
				ELEMENT 5		
			</li>	 	
			<li class="element_6">
				ELEMENT 6			
			</li>
			<li class="element_7">
				ELEMENT 7			
			</li>
			<li class="element_8">
				ELEMENT 8		
			</li>
			<li class="element_9">
				ELEMENT 9		
			</li>
	 	</ul>			
	</li>
	<li class="element_7">
		ELEMENT 7			
	</li>
	<li class="element_8">
		ELEMENT 8		
	</li>
	<li class="element_9">
		ELEMENT 9		
	</li>
</ul>

Jede Liste ist durch das jQuery UI FM sortierbar:

Code:
$(document).ready(function () {
			$(".sort_this").sortable();
			$(".sort_this li").click(function(){
				$(this).children("ul").hide();
			});
		});

Jetzt hatte ich das Problem, dass die LI in denen eine UL ist natürlich mega groß waren. Deswegen habe ich sie ausgeblendet beim onclick. Aber der Platz wurde dennoch beansprucht, bis man einmal über das Gebiet gefahren ist, in dem das Element war, das man gerade sortiert. (Also die untergeordnete UL). Kann ich das irgendwie vermeiden, habt ihr eine Idee? Ich hoffe ihr versteht mein Problem.


Danke

PS: Ihr sollt mir das nicht vorprogrammieren, aber ich habe im Internet nichts gefunden (zu blöd?). Ein Hinweis täte es auch. DANKE DANKE DANKE
 
Das Problem hat sich erledigt. Mein Folgeproblem ist aber auch passend zu dem Titel und ich möchte hier nicht alles vollmüllen.

Ich habe die Listen jetzt miteinander verbunden. (connectWith)
Wenn ich jetzt aber das ELEMENT 2 aus der ersten untergeordneten Liste über ELEMENT1 schieben möchte springt der die ganze Zeit zwischen der untergeordneten und der übergeordneten Liste hin und her. Kann ich irgendwie den Bereich verkleinern, bei dem einsortiert wird? Ist das die Größe des Placeholders? Ich weiß wie ich sagen kann, dass der Placeholder eine Größe hat, aber wie ich ihm eine bestimmte gebe ... ich bin ratlos
 
Zurück