2012-06-01 90 views
0

我有多個jquery ui對話框在頁面上動態生成,我如何定位和打開個人?如何打開個人jQuery對話框

需要有2種方式打開對話框,標記(使用傳單地圖)以及與地圖上的標記對應的一組側邊欄項目。點擊該標記打開正確的對話框,而是點擊個別側邊欄打開所有的對話框......

我有代碼:

$(function() { 

var projectDialog = $('<div id="' + L.Util.stamp(e.layer) +'" class="model-wrap">\ 
    ' + pDesc + '\ 
    </div>'); 


    projectDialog.dialog({ 
      modal: true, 
      autoOpen: false, 
      title: pName, 
      show: 'fade', 
      hide: 'fade', 
      dialogClass: (e.layer) 

     }); 


$(e.layer).click(function() { 

    projectDialog.dialog('open'); 

}); 


     // this is the sidebar link items - each item is given an id & href matching the corresponding e.layer 
    $('.item').click(function (e) { 
     e.preventDefault(); 
     projectDialog.dialog('open'); 
     return false; 
    }); 

});

回答

0

而不是調用projectDialog.dialog('open');,爲什麼不通過ID打開對話框?

$('#' + *yourId*).dialog('open');

$('div[id=' + *yourId* + ']').dialog('open');

你應該能夠在點擊事件得到的Id在(E),因爲你說,它被賦予的ID和HREF。

另外,如果您嘗試將事件綁定到動態生成的元素,則應該使用.live()或.on()。