仅为表中的第一条记录打开JQuery对话框

时间:2012-12-23 01:05:51

标签: jquery-ui modal-dialog

我在这个主题上看过很多问题,但没有一个答案/建议似乎对我有用。我是JQuery的新手,所以非常感谢一些帮助!

我有一张包含链接的表格。出于某种原因,我只能打开第一条记录的对话框(我可以多次这样做)。它不适用于任何其他记录。

这是我的代码:

    $(document).ready(function() { 

         var dlg=$('#ticketDetails').dialog({
            title: 'Ticket Details',
            resizable: true,
            autoOpen:false,
            modal: true,
            hide: 'fade',
            width:850,
            height:700
         });


        $('#view').click(function(e) {

             //testing with static record
             dlg.load('displayRecord.php?id=215', function(){
                 dlg.dialog('open');
             });

          });

    });

表中的所有行都有以下表链接:

echo '<td><a href="#" id="view">View</a> </td>';

显示对话框的div:

<div id="ticketDetails"> </div>   

我还尝试将alert('1');粘贴到$('#view').click函数中,该函数不会触发其他记录。

1 个答案:

答案 0 :(得分:3)

在您的表格中,每一行都有相同的ID,“视图”。对于页面上的单个元素,id应该是唯一的,因此您应该将其更改为类:

<td><a href="#" class="view">View</a></td>

并相应地更改您的脚本:

$('.view').click(function(e) { ... });

在事件处理程序中,您可以使用事件变量e来获取使用其目标属性单击的元素:

$('.view').click(function(e) {
  alert( $(e.target).text() );
});