2016-07-11 39 views
0

Ich versuche, die Verbindungsinformationen eines jsPlumb-Elements, das auf der Zeichenfläche abgelegt wurde, in der folgenden Weise zu erhalten. Aber es erwähnt, dass die Quell- und Ziel-IDs nicht definiert sind.Abrufen der Verbindung Info der Elemente in Javascript

JS Funktion

function getConnectionDetails(element) 
{ 
    var s,t; 
    var elemId = element.id; 
    elemId = elemId.charAt(0); 
    var inConId = elemId + "-in"; 
    alert("element: "+elemId+"\nConnection in source details: "+ inConId); 
    var outConId = elemId + "-out"; 

    jsPlumb.bind("jsPlumbConnection", function(element) { 
     s=inConId.sourceId; 
     t=inConId.targetId; 
    }); 
    alert("Source ID of connection: "+ s+ "\nTarget ID of connection: "+t); 

} 

‚elemId‘ bekommt den Stecker des Id und soll die Verbindungen abzurufen, die mit ihm verbunden sind. In diesem Fall hat ein Connector nur eine andere Verbindung.

'inConId' wird die ID des linken Ankers/Konnektors und die 'outConId' wird die ID des rechten Ankers/Konnektors enthalten und ich muss feststellen, an welche anderen Elemente diese Konnektoren angeschlossen sind (inCon & outCon) sind verbunden mit.

Antwort

0

Ich habe es.

function getConnectionDetails(element) 
    { 
     var clickedId = element.id; 
     clickedId = clickedId.charAt(0); 
     var from = clickedId+"-out"; 
     var from1 = clickedId; 
     clickedId = clickedId+"-in"; 
     var con=jsPlumb.getAllConnections(); 
     var list=[]; 
     for(var i=0;i<con.length;i++) 
     { 
      if(con[i].targetId==clickedId) 
      { 
       list[i] = new Array(2); 
       list[i][0] = con[i].sourceId; 
       fromStreamId =list[i][0]; 
       list[i][1] = con[i].targetId; 
      } 

      if(con[i].sourceId==from || con[i].sourceId==from1) 
      { 
       list[i] = new Array(2); 
       list[i][0] = con[i].sourceId; 
       list[i][1] = con[i].targetId; 
       intoStreamId =list[i][1]; 
      } 
     } 
     fromStreamId = fromStreamId.charAt(0); 
     getFromStreamName(fromStreamId); 
     intoStreamId = intoStreamId.charAt(0); 

    }