我做了一个装有SQL数据的表。我在表行中添加了数据引用,这将我带到另一页并显示该行中的所有数据。但这仅在我手动刷新表所在的页面后才起作用。当我使用常规href进入页面时,单击表格行无济于事。当我使用网址栏旁边的页面刷新器刷新页面时,表行事件起作用。这是什么原因?
<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的表格
所有这些操作仅在刷新手动页面后有效。我不知道是什么原因导致了这个问题。进入此页面后,我什至尝试了自动页面刷新,但是此刷新事件仅在手动刷新页面后才起作用。
告诉我是否需要更多代码。
答案 0 :(得分:0)
您的点击处理程序很好,因此问题必须出在页面的其他地方。
打开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');
});