2014-02-10 51 views
0

enter image description here如何獲得端點標籤在連接JSPLUMB?

在附圖中,div 1和div 3連接在一起。連接上有標籤1-3(表示div 1和div 3已連接)。現在,當我點擊一個按鈕時,我想要顯示端點標籤名稱,例如連接的「拖放」而不是div id「1-3」。

在nut shell中,在getAllConnections()期間,如何獲取連接中的端點標籤名稱?

回答

0

正如你所提到的,首先獲得所有的連接,併爲每個連接得到它們的端點,並從中你可以得到它的標籤:

var con=jsPlumb.getAllConnections(); 
for(var i=0;i<con.length;i++){ 
    var e=con[i].endpoints; // Array of [source, target] Endpoint objects. 
    var label1=e[0].getLabel(); 
    var label2=e[1].getLabel(); 
    console.log(label1+"->"+label2); 
} 

更多Refre酒店API DOC。希望這可以幫助!

+0

這似乎只回聲null-> null –

+0

@NickMitchell創建一個jsFiddle來幫助你更快! – MrNobody

0

假設您創建覆蓋這樣

endpoint.overlays = [["Label", { 
      location: [0.5, 2.5], 
      label: "1-3", 
      id: 'myLabel' 
     }]]; 

你只是做:

endpoint.getOverlay("myLabel").getLabel() 
0

假設你已經創建了 「拖」, 「落」 的標籤作爲覆蓋如下:

overlays: [ 
    [ "Label", { 
     location: [0.5, 1.5], 
     label: "Drag", 
     visible:true, 
     id: "drag" 
    } ] 
] 

您可以使用connection.endpoints[0]獲得連接的源端點。爲了得到這個端點,你可以簡單地調用connection.endpoints[0].getOverlay("drag").getLabel();的標籤值。

您可以通過jsPlumb.getConnections(),如下面的迭代獲取連接對象:

$.each(instance.getConnections(), function (index, connection) { 
}); 

這對我的作品。希望對你有幫助!