JQuery Sortable Seite nachladen

iLu_is_a_loser

Erfahrenes Mitglied
Guten Tag

ich habe ein Problem und zwar programmier ich gerade für meine Arbeit eine kleine Übersicht.
Mein Problem ist:

Es gibt sozusagen 2 Spalten einmal die schon eingereihten und die schon eingereihten zum abarbeiten. Bei den noch nicht eingereihten blende ich noch einen Text ein, wenn solche Einträge vorhanden sind. Sollten nun aber alle Einträge davon verschoben sein, steht der Text immernoch da, außer man lädt die Seite komplett nach.

Habt ihr vielleicht irgendwelche Lösungsansätze, wie ich den Text dann ausblenden kann ohne manuell die Seite nachzuladen?

Mein Script zum verschieben sieht momentan so aus:

HTML:
<script type="text/javascript"> 
$(document).ready(function(){ 
	// Sortieren programmieren
	$(function() {
		$("#content #auflistung_content ul").sortable({ 
			opacity: 0.6, cursor: 'move', update: function() {
				var order = $(this).sortable("serialize") + '&action=updateposition_prog';
				$.post("inc/update_db.php", order);
			}
		});
	});
</script>

Das PHP Script zur Verarbeitung:

PHP:
function pos_update($updateRecordsArray) {
	$listingCounter = 1;
	foreach ($updateRecordsArray as $recordIDValue) {
		
		$query = "UPDATE drahtschneiden SET position_prog = " . $listingCounter . " WHERE id = " . $recordIDValue;
		mysql_query($query) or die('Es ist ein Fehler aufgetreten!');
		$listingCounter = $listingCounter + 1;	
	} 
}

Wäre für jegliche Hilfestellung, Tipps usw sehr dankbar.

gruß
 
Zuletzt bearbeitet:
Moin,

kannst du bitte mal das sinngemässe Markup der Liste(n) posten, und beschreiben, was das nicht eingereihte ist?
Anhand dessen könnte man bestimmen, was man auf Vorhandensein prüfen muss(genauer gesagt welchen Selektor man darauf anwendet).
 
PHP:
<li id="recordsArray_'.$row["id"].'">    // ID ist die Eintragsnummer in der DB
   <div>
      <img src="gfx/pfeil.gif" />
   </div>
   <div style="width:75px">
      '.$row["wa"].'    // WA ist nur eine Zuweisung der Arbeit, völlig unrelevant
   </div>
</li>

Eingereiht ist einfach schon ein Eintrag der eine Positionsnummer zum abarbeiten hat. Und nicht eingereiht ist halt nen Eintrag, der sozusagen neu ist und noch positioniert werden muss.... halt die Reihenfolge der Arbeit.

Die Positionsnummer kann man direkt nur in der Datenbank nachschauen...die Liste wird nur danach halt ausgegeben.


gruß
 
:-(

Das ist für mich leider noch nicht ganz verständlich.

Kannst du nicht mal als Beispiel im FF eine Liste so umhersortieren, dass sie eingereihte und nicht eingereihte Sachen enthält.
Dann im FF STRG+A und im Kontextmenu "Auswahl-Quelltext anzeigen"....und das hier posten?:)
 
Zuletzt bearbeitet:
HTML:
<div>Noch nicht positioniert:</div>
<ul>
   <li id="recordsArray_1">Beispiel 1</li>
   <br />                        
   <li id="recordsArray_3">Beispiel 3</li>
   <li id="recordsArray_2">Beispiel 2</li>
</ul>

Wird angezeigt wenn noch Ausgabe ohne Position in der DB sind. Andernfalls entfällt das <div> und der Zeilenumbruch. Und dieses <div> + <br /> möchte ich halt ausblenden, wenn alle Einträge eine Position haben....dieses wird bei mir allerdings erst ausgeblendet, wenn ich die Seite komplett neulade.
 
Zuletzt bearbeitet:
Mmmh, das ist schon ein etwas suboptimales Markup, schon alleine deswegen, weil ein <br/> dort nicht erlaubt ist :eek:

Aber egal, geht auch damit.

Also wenn es so ist, wie du sagst, wäre ja davon auszugehen, dass wenn nichts mehr unpositioniert ist, der 1. Kindknoten der <ul> das <br/> ist.

Das kann man abfragen:
Code:
if($('#auflistung_content ul > *').first()[0].tagName=='BR')
{
  //nichts mehr zu tun, Hinweis kann ausgeblendet werden
}
 

Neue Beiträge

Zurück