Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 02:32

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



JQuery -> Drag & Drop

Discussion on JQuery -> Drag & Drop within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
JQuery -> Drag & Drop

Hallo epvpl'er.
Ich versuche gerade das Drag & Drop System von Jquery zu nutzen.
Das gelingt mir soweit auch problemlos, jedoch würde ich gerne folgendes machen:
Wenn der User den Content aus einem Slot nimmt, dann sollen die daten des Content's genommen werden und in dem neuen slot gespeichert werden:
Momentan sieht das so aus:
PHP Code:
$(function(){

        $(
".content-image").draggable({ snap".slot"});
        $(
".content-image").draggable({
            
drag: function(event,ui){
                var 
start_slot this.parentNode.getAttribute('id');
                var 
start_contentthis.getAttribute('data-contentid');
                
console.log('Start-Slot:'+start_slot+' Start-content: '+start_content);
            }
        });
        $(
".slot").droppable({
            
drop: function (event,ui) {
                var 
end_slot event.target.attributes.id.value;
                var 
end_contentthis.getAttribute('data-contentid');
                
console.log('End-Slot:'+end_slot+' End-content: '+end_content'Start-Slot:'+start_slot+' Start-content: '+start_content);
                $(
this).addClass("ui-state-highlight");
               $(
".popover").popover("dispose");
            }
        });
    }); 
Bei dem Drag hole ich die Info's vom Content, welchen der User draggt.
Beim Drop hole ich die Info's vom Content, wo der Content gedroppt wurde.
Jedoch ists so, wie es jetzt ist, nicht möglich die Drag-Daten(Start_slot und start_content) in der Drag-funktion zu nutzen. Da ich gerne überprüfen würde, ob der Content, den er auch draggt, existiert (per $_post + datenbank abfrage)
.Barone is offline  
Old 02/02/2017, 17:34   #2


 
elite*gold: 0
Join Date: Sep 2008
Posts: 526
Received Thanks: 82
Hey,

hier:
PHP Code:
$(".slot").droppable({
            
drop: function (event,ui) {
                var 
end_slot event.target.attributes.id.value;
                var 
end_contentthis.getAttribute('data-contentid');
                
console.log('End-Slot:'+end_slot+' End-content: '+end_content'Start-Slot:'+start_slot+' Start-content: '+start_content);
                $(
this).addClass("ui-state-highlight");
               $(
".popover").popover("dispose");
            }
        }); 
hast du ja bereits "event" und "ui" als variablen der Drop Funktion, wenn du nun die variable ui anschaust, hast du dort verschiedene daten zu dem gedropten element gespeichert. ( )

Mit
PHP Code:
console.log($(ui.draggable.context).html()); 
würdest du z.b. den HTML content von dem gedropten element bekommen, wenn du aber wie in deinem beispiel an das data attribut ran möchtest, kannst du es einfach so aufrufen:
PHP Code:
var start_slot = $(ui.draggable.context).attr('id');
var 
start_content = $(ui.draggable.context).data('contentid'); 
Mozo_ is offline  
Old 02/02/2017, 19:20   #3
 
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
Wenn ich es versuche so umzusetzen wie du es schreibst, dann bekomme ich immer ein undefined.

PHP Code:
console.log($(ui.draggable.context).html()); 

PHP Code:
console.log($(ui.draggable.context)); 
Sind beide undefined.

Auch wenn ich versuche an das Parent ran zu kommen, wird mir nen undefined ausgespuckt. Das Object ist jedoch laut Firefox vorhanden...
.Barone is offline  
Old 02/02/2017, 23:42   #4
 
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
Quote:
Originally Posted by .Barone View Post
Wenn ich es versuche so umzusetzen wie du es schreibst, dann bekomme ich immer ein undefined.

PHP Code:
console.log($(ui.draggable.context).html()); 

PHP Code:
console.log($(ui.draggable.context)); 
Sind beide undefined.

Auch wenn ich versuche an das Parent ran zu kommen, wird mir nen undefined ausgespuckt. Das Object ist jedoch laut Firefox vorhanden...
Ich habe dir hierzu ein einfaches Beispiel gemacht:



PHP Code:
$(document).ready(function() {

    $(
'#draggable').draggable({
        
snap'.slot'
    
});
    
    $(
'#draggable').draggable({
        
start: function(eventui) {
            var 
draggableElement this;
            
console.log('#draggable => startSlot: ' draggableElement.parentElement.id);
            
console.log('#draggable => startContent: ' draggableElement.dataset.contentid);
        }
    });
    
    $(
'#droppable').droppable({
        
drop: function(eventui) {
            var 
draggableElement ui.draggable.context;
            
console.log('#droppable => startSlot: ' draggableElement.parentElement.id);
            
console.log('#droppable => startContent: ' draggableElement.dataset.contentid);
        }
    });
    
}); 
edit: Ich habe dir das Resultat in die Variabel draggableElement gespeichert. Du solltest besser parentElement.id / dataset.contentid verwenden ist schneller und präziser/sauberer.

Ich habe ebenfalls die Methode drop durch start ersetzt. Der Unterschied ist, dass start nur einmal ausgeführt wird und drag immer, solange du das Element mit der Maustaste hältst.
#Metho is offline  
Thanks
1 User
Old 02/03/2017, 14:58   #5


 
elite*gold: 0
Join Date: Sep 2008
Posts: 526
Received Thanks: 82
Quote:
Originally Posted by .Barone View Post
Wenn ich es versuche so umzusetzen wie du es schreibst, dann bekomme ich immer ein undefined.

PHP Code:
console.log($(ui.draggable.context).html()); 

PHP Code:
console.log($(ui.draggable.context)); 
Sind beide undefined.

Auch wenn ich versuche an das Parent ran zu kommen, wird mir nen undefined ausgespuckt. Das Object ist jedoch laut Firefox vorhanden...
Hier ist einmal ein Fiddle von meinem Beispiel
Mozo_ is offline  
Old 02/03/2017, 15:12   #6
 
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
Quote:
Originally Posted by Mozo_ View Post
Hier ist einmal ein Fiddle von meinem Beispiel
Wenn du's per jQuery machen möchtest, dann brauchst du keine Umwandlung von einem HTMLElementObject in ein jQueryObject, da ui.draggable bereits ein jQueryObject ist:

Das:
PHP Code:
$(ui.draggable.context
ist gleich:
PHP Code:
ui.draggable 
Aber mit der Kernaussage hast du recht, er braucht entweder nur die stop-Methode vom draggable-Element oder die drop-Methode vom droppable-Element, so wie das Projekt vom TE beschrieben wurde.
#Metho is offline  
Old 02/03/2017, 18:21   #7
 
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
@#metho
Danke. Das funktioniert so wunderbar. Jetzt noch die sachen per POST an den Handler der dann alles in die Datenbank einträgt und dann sollte alles passen.
.Barone is offline  
Reply


Similar Threads Similar Threads
HTML5 Drag & Drop + Ajax ?
02/12/2016 - Web Development - 0 Replies
Moinsen, epvp'er. Ich hätte ne frage bezüglich dem Drag & Drop. Wenn ich das ganze per alertbox ausgeben lasse, ist alles richtig. Die Daten stimmen: function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("text", ev.target.id); }
c# Drag and Drop Bilder
05/21/2012 - .NET Languages - 2 Replies
Hey leute ich würde egrne wissen wie ich in c# bilder die ich ins program reinziehe in eine picture box oder so laden kann ich weis ich brauch den eventhandler ****_DragEnter aber was mache ich dann um dann bild zu kopieren und in die message box zu laden
virtual pc drag&drop übertragungsfehler
07/30/2011 - Technical Support - 0 Replies
guten morgen leute ich habe mir virtual pc eingerichtet mit windows 7 ultimate nun habe ich die Virtual Machine Additions plugin installiert gestern ging alles noch ich konnte per drag&drop daten rüberziehen dan installierte ich das sicherheitsupdate für virtualpc2007 über den windowsupdater. danach kamm folgender fehler beim übertragen eines textokumentes:
Drag & Drop Quest
12/18/2010 - Metin2 Private Server - 1 Replies
Liebe Community Ich wollte eine Quest mit Drag & drop machen (das eine Item auf das andere ziehen) aber ich weiß nicht, was ich in den Quest code schreiben soll. ich hoffe ihr könnt mir helfen LG Killerwalli
EDIT und Drag and Drop
04/11/2010 - AutoIt - 3 Replies
Hi, ich wollte fragen wie man einen GuiCtrlCreateEdit so macht, dass man eine Datei reinziehen kann und er dann im Edit den Namen der Datei zeigt. Ich hab bei den Styles und EXStyles geguckt, aber nix gefunden.



All times are GMT +2. The time now is 02:33.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.