Jquery对话框

时间:2011-08-26 20:24:34

标签: jquery modal-dialog

我在这里有一个jquery问题,我的页面上有一些动态的html链接,一旦链接被点击它应该打开一个使用jquery的对话框,问题是我不确定没有链接,因为他们是动态生成通过PHP循环所以我不能提供不同的ID到那些链接并单独定位它们,我想要一种方式,以便任何链接被点击它应该打开一个对话框,无论他们都是相同的ID或类。

如果您希望我更具体,请告诉我。

谢谢

5 个答案:

答案 0 :(得分:0)

如果您动态生成内容,则对话框中始终可以显示<div>并填充.html(contents);

答案 1 :(得分:0)

同一个班级

$('a.your_class').click(function(){
   //your code for dialog
});

这不会使用相同的id,因为jquery只返回第一个结果,因为ID在整个页面上应该是唯一的。

每个链接

$('a').click(function() {
   //your dialog here
});

用于特定容器中的链接

$('#container a').click(function() {
  //your code for dialog
});

只需确保代码需要放入

(文档)$。就绪(()的函数 {   //你的代码在这里,这将在加载页面时执行代码 });

答案 2 :(得分:0)

查看jQuery live函数以绑定可能尚不存在的元素。

http://api.jquery.com/live

我会使用live通过类名绑定到链接。单击链接时,将对话框连接并打开。像这样......

$(".some_class").live("click", function(event){

    $(this).dialog(options); //create the dialog
    $(this).dialog("open"); //open the dialog
});

答案 3 :(得分:0)

您应该将click事件绑定到与您动态生成的链接一致的内容。例如,如果您为链接指定了一个“对话框链接”类,那么您可以为该特定类做一个选择器。

$('a.dialog-link').click(function(){
//Do something
});

如果在pageLoad之后通过javascript动态地将链接附加到您的dom,那么您必须实时委派点击。

$('a.dialog-link').live('click',function(){
//Do something
});

答案 4 :(得分:0)

$(foo).dialog({ autoOpen: false })

将创建对话框,

$('a.opendialog').live('click',function() {
    $(foo).dialog('open'); 
    return false;
}
每次单击添加了“opendialog”类的链接时,

都会打开它。