Почему мой href работает только после того, как я вручную обновил страницу? - PullRequest
0 голосов
/ 19 ноября 2018

Я сделал таблицу, заполненную данными SQL. Я добавил data-href в строки таблицы, который перенесет меня на другую страницу и покажет все данные из этой строки. Но это работает только после того, как я вручную обновил страницу, на которой находится моя таблица. Когда я вхожу на страницу, используя обычные ссылки, щелчок строки таблицы ничего не делает. Когда я обновляю свою страницу, используя страницу обновления рядом с панелью 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

Все это работает только после обновления страницы вручную. Я понятия не имею, что вызывает эту проблему. Я даже пробовал автоматическое обновление страницы при входе на эту страницу, но это событие обновления работает только после того, как я обновил страницу вручную.

Скажите, если вам нужен еще код.

1 Ответ

0 голосов
/ 19 ноября 2018

Ваш обработчик кликов в порядке, поэтому проблема должна находиться в другом месте страницы.

Может быть полезно открыть консоль 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');
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...