stiller: html5 sortable klasse item-Werte auslesen

Hallo

Habe eine Auflistung die ich mittels der html5 Portable Klasse (http://farhadi.ir/projects/html5sortable/) sortierbar gemacht habe. Nun möchte ich die neue Position über PHP in der DB Speichern.

Meine JS-Funktion: ~~~javascript

$('.sortable').sortable({handle: '#mover'}).bind('sortupdate', function(e, ui) {
       //ui.item contains the current dragged element.
       var item = ui.item;
       alert ("item"+item);
       $.get("inc/inc.chg_reihe.php?" + item);
});

  
Leider kann ich die item-Information nicht auslesen. Was mache ich falsch?  
  
Danke für eure Hilfe.  
  
Gruss  
stiller
  1. Meine Herren,

    Leider kann ich die item-Information nicht auslesen. Was mache ich falsch?

    ui.item ist ein DOM-Element. Dein alert müsste an der Stelle also etwas wie 'item[object HTMLLIElement]' ausgeben.

    Welche Eigenschaften dieses Elements sollen denn an den Server übermittelt werden?

    Eine Liste aller Eigenschaften kannst du dir in der Konsole ausgeben lassen, indem du console.dir( ui-item ); benutzt.

    1. Grüezi

      Danke vielmals.

      Leider kann ich die item-Information nicht auslesen. Was mache ich falsch?

      ui.item ist ein DOM-Element. Dein alert müsste an der Stelle also etwas wie 'item[object HTMLLIElement]' ausgeben.

      Welche Eigenschaften dieses Elements sollen denn an den Server übermittelt werden?

      Eine Liste aller Eigenschaften kannst du dir in der Konsole ausgeben lassen, indem du console.dir( ui-item ); benutzt.

      Das klappt noch nicht wirklich. (ui-item) gibt eine Fehlermeldung aus und (ui.item) gar nix.

      Im Prinzip möchte ich die Reihenfolge in der DB ändern. Jedes li-Element hat eine ID und in der DB eine Zahl mit der aktuellen Position. ich müsste also die ID haben und der aktuelle Positrons Wert in innerhalb der Ausgabe-LI.

      Gruss
      Stiller

      1. Meine Herren,

        Das klappt noch nicht wirklich. (ui-item) gibt eine Fehlermeldung aus und (ui.item) gar nix.

        ui-item war ein Typo, das hast du aber schonmal richtig erkannt.

        Keine Ausgabe kann ich mir nicht vorstellen, irgendeinen Wert muss ui.item ja haben. Weißt du, wie du die Javascript-Konsole öffnest? (häufig F12 oder STRG+Shift+i ) console.dir ist nicht das selbe wie alert()!

        Die id solltest du einfach über ui.item.getAttribute('id') auslesen können. Die Position musst du selber ermitteln, zum Beispiel indem du dich über an jüngeren Geschwister-Knoten entlang hangelst und mitzählst.

        previousElementSibling wäre prädestiniert dafür.

        1. Guten Abend

          Das klappt noch nicht wirklich. (ui-item) gibt eine Fehlermeldung aus und (ui.item) gar nix.

          ui-item war ein Typo, das hast du aber schonmal richtig erkannt.

          Keine Ausgabe kann ich mir nicht vorstellen, irgendeinen Wert muss ui.item ja haben. Weißt du, wie du die Javascript-Konsole öffnest? (häufig F12 oder STRG+Shift+i ) console.dir ist nicht das selbe wie alert()!

          Schaffe mit FF auf Mac und wähle Extras/Web-Entwickler/Web-Konsole.

          Die id solltest du einfach über ui.item.getAttribute('id') auslesen können. Die Position musst du selber ermitteln, zum Beispiel indem du dich über an jüngeren Geschwister-Knoten entlang hangelst und mitzählst.

          Ich habe jetzt folgende li's gebaut:

            
          <li id="element_6" class="" draggable="true" style="display: list-item;">  
          <li id="element_1" draggable="true">  
          <li id="element_7" draggable="true">  
          
          

          Und das ist der JS-Code:

            
           $('.sortable').sortable({handle: '#mover'}).bind('sortupdate', function(e, ui) {  
          		 			var item = ui.item.getAttribute('id');  
          		 			alert("item"+item);  
          		 });  
          
          

          Die Konsole sagt jetzt immer Error: ui.item.getAttribute is not a Funktion. Alert ist nur für mich zur Kontrolle.

          previousElementSibling wäre prädestiniert dafür.

          Merci, das schaue ich mir an.

          Gruss
          Stiller

      2. Hallo,

        Im Prinzip möchte ich die Reihenfolge in der DB ändern.

        Im Prinzip ist das nicht üblich. Die Reihenfolge in der DB ist normalerweise unerheblich und das sortierte Ausgeben beherrschen DB-System i.A. sehr gut.

        Gruß
        Kalk