2010-07-24 71 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')

相关问题