0

我已经看到很多关于这个主题的问题,但没有一个答案/建议似乎对我有用。我对 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

4

1 回答 1

3

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

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

并相应地更改您的脚本:

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

在事件处理程序中,您可以使用 event 变量e来获取被点击的元素,使用它的 target 属性:

$('.view').click(function(e) {
  alert( $(e.target).text() );
});
于 2012-12-23T02:02:42.350 回答