2010-07-24 73 views
1

我在我的頁面上有多個地方,當點擊一個鏈接時,我想打開一個jQuery對話框。我使用類選擇器,理論上我應該可以打開它們中的每一個。我的問題是,我有它的代碼將只打開我點擊的第一個對話框。爲什麼是這樣???使用相同類的頁面上的多個Jquery對話框

//modal help div 
    $('.dialogbox').dialog({ 
        modal:true, 
        autoOpen: false 
        }); 
    $(".modalhelp").click(function() { 
$('.dialogbox').dialog('open') 

});

的HTML:

<a class="modalhelp" href="javascript:void[0]"><img src="images/information.png" /></a> 
<div class="dialogbox" style="display:none" title="Information">Hello</div> 

<a class="modalhelp" href="javascript:void[0]"><img src="images/information.png" /></a> 
<div class="dialogbox" style="display:none" title="Information">NO HELLO</div> 

回答

3

在你.click()處理程序,你需要引用你想要比較的人,像這樣的:

$(".modalhelp").click(function() { 
    $(this).next('.dialogbox').dialog('open'); 
}); 

不是打開所有.dialogbox元素,我們只調用.dialog('open')非常接下來兄弟<div class="dialogbox">通過使用.next()。如果點擊錨和.dialogbox之間可能存在元素,那麼這會稍微改變一些,例如.nextAll('.dialogbox:first')

相關問題