2016-07-11 13 views
0

次のように、キャンバスにドロップされたjsPlumb要素の接続情報を取得しようとしています。しかし、ソースIDとターゲットIDは未定義であることに言及しています。Javascriptの要素の接続情報を取得する

JS機能

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は、」コネクタのIDを取得し、それに接続されている接続を取得することになっています。この場合、1つのコネクタには他の1つの接続しかありません。

'inConId'は左アンカー/コネクタのIDを保持し、 'outConId'は正しいアンカー/コネクタのIDを保持します。これらの2つのコネクタ(inCon & outCon )が接続されています。

答えて

0

これが表示されます。

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); 

    } 
関連する問題