2015-05-07 4 views
-1

Так вот что я делаю. Я использую плагин DataTables, а также полномасштабный всплывающий плагин. То, что я пытаюсь сделать, имеет таблицу пользователей, динамически загружается из базы данных и загружается в таблицу DataTables. В каждой строке есть ссылка для указанного пользователя. Теперь, что я пытаюсь сделать, это когда вы нажимаете ссылку, вместо перехода на другую страницу, это создает всплывающее окно с данными. Это не работает. Я отлаживал его, и то, что я вижу, с тех пор, данные извлекаются из базы данных, через ajax, всплывающий плагин, не видит данные. Есть ли способ обойти это? Я пытаюсь сделать это как можно более эффективно, и уменьшить нагрузку на процессор на сервере, так что ..jQuery - Мне нужно использовать Ajax для данных, собранных из Ajax

<table id="player_table" class="display"> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>Username</th> 
      <th>Last IP</th> 
      <th>Total Commands</th> 
      <th>Total NPC Clicks</th> 
      <th>Total Object Clicks</th> 
      <th>Total Item Clicks</th> 
      <th>Last Trade</th> 
      <th>Details</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>142</td> 
      <td>Dayghost</td> 
      <td>127.0.0.1</td> 
      <td>325</td> 
      <td>568</td> 
      <td>1433</td> 
      <td>12503</td> 
      <td>16:42</td> 
      <td><a href="player.php?id=2" class="popup">more Info</a></td> 
     </tr> 
    </tbody> 
</table> 

Эта таблица загружается динамически, и имеет 150 случайных whatevers в нем.

Ниже приведена ajax, которая собирает данные.

$('#player_table').dataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax": "serverside/handler.php" 
}); 

Это модуль Всплывающее

$('.popup').magnificPopup({ 
    midClick: true, 
    type: 'ajax' 
}); 

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

Я редактировал использование в .popup class

+0

Pls предоставляет любой код, который у нас есть, чтобы помочь вам. – webcodecs

+0

Итак, у нас есть эта таблица. демо-таблица. – demitchell14

+0

Просьба указать код, пожалуйста, @ demitchell14 –

ответ

0

Хотя я не вижу каких-либо HTML элементы с классом .popup на них в коде (?) Я предполагаю, что вам нужно сделать, это позвонить Magnific всплывающее после ваш контент создается.

Порядок событий будет:

  • Страница загружается со статическими данными
  • Magnific инициализируется по данным в настоящее время на странице
  • данных обновляется не с помощью AJAX
  • Magnific больше не привязаны к любым элементам на странице, поэтому magnific необходимо повторно инициализировать

Это было бы просто, s:

$('.popup').magnificPopup({ 
    midClick: true, 
    type: 'ajax' 
}); 

После загрузки содержимого AJAX.

+0

Проблема с тем, что вы задумали .. этот метод вызывается каждый раз, когда нажимается строка. Класс popup является суперклассом. Я использую его в каждой строке.НО данные никогда не совпадают, кстати, плагин MagnificPopup работает. он использует href для захвата данных. URL-адрес: [ссылка] (http://rspsanalysis.comeze.com/). Если вы посетите, вы увидите, что проблема сама по себе – demitchell14

+0

Я не понимаю - решение, которое вы использовали, именно то, что я предложил? –

1

Я понял.

я поставил функцию ..

$('.popup').magnificPopup({ 
    midClick: true, 
    type: 'ajax' 
}); 

в OnComplete обстановке в DataTables.

Смежные вопросы