Загрузите часть страницы в каталог symfony 3 из jquery - PullRequest
0 голосов
/ 07 января 2019

Я использую Symfony и у меня есть элемент в файле web / getTable.php, который я хочу загрузить. Код этого элемента здесь:

<p id="hello">Hello World!!!</p>

Как я могу получить это? Перед публикацией я попробовал это:

$('#btn').click(function(){
$('span').load("{{asset('getTable.php #hello')}}");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<button id="btn">load</button>
<span id="#test"></span>

Ответы [ 2 ]

0 голосов
/ 10 января 2019
the really content of getTable.php is this

    <div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>    //this is in my twig file
    <script>
        $('btn').click(function(){
        $('#test').load("{{asset('getTable.php #list')}}");
        });
    
    
    
     </script>
    //in the getTable.php file
  <table>
    <thead>
  <tr>
    <th>Type</th>
    <th>Nombre de Place Libre</th>
    <th>Nombre de Place Exigé</th>
  </tr>
  </thead>
  <tbody>
<?php
$bdd=new PDO('mysql:host=localhost;dbname=gestion_ressources_humaines', 'root','');

$reponse=$bdd->query('SELECT id, type, nbPlaceLibre, nbPlaceExige FROM fonction');

while ($donnees = $reponse->fetch())
{
?>
  <tr>
    <td style="display:none;"><?php echo $donnees['id']; ?></td>
    <td><?php echo $donnees['type']; ?></td>
    <td><?php echo $donnees['nbPlaceLibre']; ?></td>
    <td><?php echo $donnees['nbPlaceExige']; ?></td>
  </tr>
<?php
}

?>
</tbody>
</table>
<?php
$reponse->closeCursor(); // Termine le traitement de la requête

?>
<script>
$(function(){
  $("tr").click(function(){
  $('tr').removeClass('selected');
if($(this).hasClass('selected'))
    $(this).removeClass('selected');
else
  $(this).addClass('selected');
        });
        });

</script>
    
    <p id="hello">Hello world!!!</p>
    
0 голосов
/ 07 января 2019

Лучшим подходом может быть его обычная загрузка в скрытом диапазоне, а затем, когда нажимается кнопка, вы просто делаете диапазон видимым. Если он долго загружается или вы не хотите предварительно загружать его, вы должны выполнить реальный вызов Ajax ( пример ) и создать HTML-код. Конечно, было бы лучше использовать CSS для отображения: нет, но это должны быть основы, чтобы заставить его работать.

Html:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js">     </script>
<button id="btn">load</button>
<span id="#test" style="display:none">{{asset('getTable.php #hello')}}</span>

JavaScript:

$('#btn').click(function(){
    $('span').show();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...