我在这个主题上看过很多问题,但没有一个答案/建议似乎对我有用。我是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
函数中,该函数不会触发其他记录。
答案 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() );
});