我有一张表,我想从中得到一个值。当用户单击单元格中的图标时,我需要将单元格中的文本直接显示在右侧。我正在使用此代码创建表。
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', '.view_project_record', function() {
pid = $(this).next('td').text();
alert(pid);
loadProject();
});
现在当警报触发时,它会向我发送一个空白框,就像'td'没有值一样。
这是我在评论结果中尝试过的其他内容
pid = $(this).next('.content_td').text(); // no value
pid = $(this).next('.projects_contentTable td a').text();// no value
pid = $(this).next('a').text(); // no value
pid = $('.projects_contentTable .content_td:eq(3) a').text(); // no value
pid = $('.projects_contentTable td:nth-child(3) a').text(); // all the values from the column... I just want the one from this row
正如你所看到的,我显然不知道这是如何工作的。我的愿望是获得Job#的值,用于我点击的图标所在的确切行。不多也不少。我需要这个值发送到AJAX
帖子,它让我疯狂。我知道至少有5种方法可以获得这个价值,你能越多越好,我只想了解它的工作原理。感谢您的帮助
答案 0 :(得分:1)
在调用next()
之前,您需要定位img的父(td)。 $(this).parent().next('td').text();
答案 1 :(得分:0)
使用.children()
代替.next()