我以为我对此有很好的处理,但显然不是。所以我们又来了。我想要从我单击的位置两个空格的单元格的值。这将是该行的第三列。这是一些要理解的代码。
我这样创建表
php
$project_info = $db->prepare("
SELECT projects.id,
projects.project_name,
projects.pm,
// ...more columns
FROM projects
WHERE account_id = ?
");
$project_info->bindValue(1, $aid, PDO::PARAM_STR);
$project_info->execute();
echo "<table class='projects_contentTable'>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "Job #" . "</th>";
// ...more headers
while ($row = $project_info->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td class='content_td'>" . "<img src='images/edit.png' class='edit_project_record'/>" . "</td>";
echo "<td class='content_td'>" . "<img src='images/view.png' class='view_project_record'/>" . "</td>";
echo "<td class='content_td'>" . "<a href='#'>" . $row['id'] . "</a>" . "</td>";
// ...more td's
echo "</tr>";
}
echo "</table>";
这段代码从单元格中获取值
jQuery
$('body').on('click', '.edit_project_record', function() {
pid = $(this).parent().find('td:eq(3)').text();
alert(pid);
loadEditProject();
});
现在,当警报触发时,对话框内没有任何内容。所以我没有从正确的单元格中获取值。我试图在逻辑上打破这一点,但我被卡住了。这是我的理解,显然是错误的
- $(this) = 图片,在 'td' 元素内。
- parent() = 保存图像的实际 'td' 元素
- find('td:eq(3)') = 从父位置查找特定的 'td',在本例中为行的第三列。
- .text() = 所选单元格的文本值
请向我解释我的逻辑在哪里被破坏,以便我可以解决这个问题。谢谢