我制作了一个充满SQL数据的表。我向表行添加了一个data-href,它将我带到另一个页面并显示来自该行的所有数据。但是,只有在手动刷新表所在的页面之后,这才能起作用。当我使用普通的hrefs输入页面时,单击表行不会做任何事情。当我使用URL栏旁边的页面刷新器刷新页面时,表行事件可以工作。原因是什么?
<script>
var trid;
function foo() {
}
</script>
<script>
$(function(){
$('*[data-href]').click(function(){
window.location = $(this).data('href');
return false;
});
});
</script>上面的代码位于页面标题中。
<div data-role="navbar">
<ul>
<li><a href="stoftest.php">Stoftest</a></li>
<li><a href="overzicht.php">Overzicht</a></li>
<li><a href="klim.php">Klimopdracht</a></li>
</ul>
</div>上面的代码是对带有表(中间的)的页面的引用。
echo "<table>";
echo "<tr>";
echo "<th>".'Stof'."</th>";
echo "<th>".'Score'."</th>";
echo "<th>".'Datum'."</th>";
echo "</tr>";
foreach ($result as $pers) {
echo "<tr data-href='detail.php?persId=".$pers->id."'>";
echo "<td>".$pers->stofid."</td>
<td>".$pers->zoeken."</td>
<td>".$pers->datum."</td>";
echo "</tr>";
}
echo "</table>";上面的代码是我使用PHP和HTML的表
所有这些只有在手动页面刷新之后才能工作。我不知道是什么导致了这个问题。我甚至在输入此页面时尝试自动刷新页面,但此刷新事件只有在手动刷新页面后才能工作。
如果你还需要密码的话告诉我。
发布于 2018-11-19 15:00:39
您的点击处理程序是好的,所以问题必须在页面的其他地方。
打开Javascript控制台并添加一些console.log调用可能会有帮助。例如:
$('*[data-href]')
.each(function()
{
// Check this value the first time the page loads
// then see if it changes when the page reloads
console.log($(this).data('href'));
})
.click(function(event)
{
event.preventDefault();
window.location = $(this).data('href');
});https://stackoverflow.com/questions/53374534
复制相似问题