【发布时间】:2013-08-04 10:10:02
【问题描述】:
我认为我对此有很好的处理,但显然不是。所以我们又来了。我想要从我单击的位置两个空格的单元格的值。这将是该行的第三列。这是一些需要理解的代码。
我这样创建表
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() = 所选单元格的文本值
请向我解释我的逻辑在哪里出错,以便我解决这个问题。谢谢
【问题讨论】:
-
您是每次只想要第 3 列还是从您单击的位置开始的单元格 2 列?仔细看下面的答案。他们中的大多数只是选择第三列,而不管点击发生在哪里。
-
@DevlshOne 是的,我不想要任何第三列。我想要点击发生的行中的第三列。我也不想要 :nth-child(x) 值,因为它会返回列中的所有值。感谢您指出这一点
标签: jquery