Ergebnis 1 bis 3 von 3

Thema: Probleme in Tabelle mit multidrag

  1. #1
    Neuer Benutzer
    Registriert seit
    09.08.2016
    Beiträge
    13

    Probleme in Tabelle mit multidrag

    Hallo,

    aktuell habe ich ein Problem mit der Ajaxbehandlung der Dropevente in einer Tabelle mit 2 Divelementen. Mit den Divelementen sollen sich jeweils Termine individuell verschieben lassen. Inzwischen ist es so dass sich beide Div-Elemente verschieben lassen und beim Dragstart jeweils im Ajax-Teil auch per Alert mit die jeweilige Startposition zurückgegeben wird. Allerdings habe ich derzeit ein Problem, wenn ich in beim Dragstop eine entsprechende Ajaxbehandlung einbaue sich das Element nicht mehr verschieben lässt. Ganz gerne hätte ich, wenn sowohl die Ajaxroutine im Startteil als auch die im Stopteil funktionieren. So sieht derzeit mein Code aus:

    Code:
     $( function() {
        $( "#draggable_800" ).draggable({
        grid: [10000, 1],
        start: function( event, ui ) { 
       
    				var offset0800 = $(this).offset();
    				var xPos0800 = offset0800.left;
     				var yPos0800 = offset0800.top;   
      				$('#posX0800 > span').text(xPos0800);
                $('#posY0800 > span').text(yPos0800);  
    
    // hier Ajax einbauen um Startposition mit Event abzugleichen und in DB             
     
    
    $.ajax({
    	    url: "ajax_dummy.php",  
      //  url: "agenda_dragstart.php",
        type:'get',
        data: {y:yPos0800},
       dataType: 'html',
        
        success: function(response) {
    		  
          //Do Something
          alert(response);
             
       	 },
       	 
       });    
             
    // Ende Ajax              
                
      },
    
     stop: function(){
                var finalOffset0800 = $(this).offset();
                var finalxPos0800 = finalOffset0800.left;
                var finalyPos0800 = finalOffset0800.top;
    
                $('#finalX0800 > span').text(finalxPos0800);
                $('#finalY0800 > span').text(finalyPos0800);
                $('#width > span').text($(this).width());
                $('#height > span').text($(this).height());
              
            },  
      
     // hier Ajax einbauen, um Termin zu verschieben 
     
    /*
    $.ajax({
       	 
       });    
    */
                
       
    
     		});   
      } );
    Code:
     $( function() {
      
        $( "#draggable_900" ).draggable({
        grid: [10000, 1],
        start: function( event, ui ) { 
       
    				var offset0900 = $(this).offset();
    				var xPos0900 = offset0900.left;
     				var yPos0900 = offset0900.top;   
      				$('#posX > span').text(xPos0900);
                $('#posY > span').text(yPos0900);  
    
    // hier Ajax einbauen um Startposition mit Event abzugleichen und in DB             
     
     
    $.ajax({
    	 url: "ajax_dummy.php", 
     //   url: "agenda_dragstart.php",
        type:'get',
        data: {y:yPos0900},
        dataType: 'html',
        success: function(response) {
          //Do Something
          alert(response);
       	 }, 
       });    
                
                   
                
      },
    
     stop: function(){
                var finalOffset0900 = $(this).offset();
                var finalxPos0900 = finalOffset0900.left;
                var finalyPos0900 = finalOffset0900.top;
    
                $('#finalX > span').text(finalxPos0900);
                $('#finalY > span').text(finalyPos0900);
                $('#width > span').text($(this).width());
                $('#height > span').text($(this).height());
               
            },  
      
     // hier Ajax einbauen, um Termin zu verschieben 
     
     /*
    $.ajax({
        url: "agenda_dragstop.php",
        type:'get',
        data: {y:yPos},
        dataType: 'html',
        success: function(response) {
          //Do Something
          alert(response);
       	 }, 
       });    
                
      */   
    
     		});   
     	
      } );
    Also wie gesagt, so lassen sich beide Elemente unabhängig voreinander ein stückweit verschieben bis eben der Alert mit der jeweiligen Startangabe erscheint. Das verschieben funktioniert aber nur, wenn die Ajaxparts beim Stopteil auskommentiert sind, also muss da irgendwie ein Syntaxproblem jeweils drinnstecken.

  2. #2
    Neuer Benutzer
    Registriert seit
    09.08.2016
    Beiträge
    13
    Den Fehler habe ich inzwischen gefunden.
    In der jeweiligen Behandlung des Stoptriggers der Dragfunktion befand sich die jeweilige Ajax-Funktion an der falschen Stelle. Das jeweilige PHP-Script kann die Parameter nur weiter verarbeiten, wenn es wie folgt platziert ist

    stop: function() {
    // Variablen-Deklaration
    // #Anker > HTML-Tag.Attribut(variable)

    $.ajax({
    ...
    });


    },
    ... restliches Jquery, hier vorallem 2 x });

  3. #3
    Neuer Benutzer
    Registriert seit
    26.07.2019
    Ort
    Panama
    Beiträge
    20

    Probleme in Tabelle mit multidrag

    Ich glaub hier antworten wenige. Sie wissen wohl das hier auch Archis im Forum aktiv sind. Wenn man im Glas Haus sitzt wirft man nicht mit Steinen.

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •