Проблема с Jquery, как решить?

182
20 декабря 2017, 22:54

Есть страница index.php в ней подключено jquery (jquery-1.12.4.js). На этой странице есть кнопка. Нажав которую происходит загрузка содержимого другой страницы adler.php через (jquery.form.js) Все замечательно, вот только на странице adler.php подключено jquery той же версии. Так как на ней стоит вот этот модуль https://datatables.net/extensions/buttons/examples/html5/simple.html При загрузке этой странице идет что-то не так и модуль не грузит кнопки сохранения таблицы. И от jquery в index.php и в adler.php отказаться не могу. Вот сам сайт

//avia-avia.ru

и вот кнопка (Пока только для направления Москва Адлер)

А вот подгружаемая страница

//avia-avia.ru/adler.php

Так вот если зайти непосредственно на //avia-avia.ru/adler.php то там кнопки сохранения подгружаются. Да и еще если несколько раз нажимать на кнопку показать, то таблица внутри меняет свой вид. Фантастика. Спасибо Спасибо

Добавлю.

Вот пример кнопки.

$(document).ready(function(){var b="Показать";var a="Скрыть";var c="<img src='loading.gif'><b style='color:#337ab7;'>Подождите, идет загрузка...</b>";$("#form_1 input").on("click",function(d){if($(this).val()==b){$("#content1").html(c);$("#form_1").ajaxForm(function(e){$("#form_1 input").val(a);$("#content1").html(e)})}else{d.preventDefault();$(this).val(b);$("#content1").html("")}});$("#form_2 input").on("click",function(d){if($(this).val()==b){$("#content2").html(c);$("#form_2").ajaxForm(function(e){$("#form_2 input").val(a);$("#content2").html(e)})}else{d.preventDefault();$(this).val(b);$("#content2").html("")}});$("#form_3 input").on("click",function(d){if($(this).val()==b){$("#content3").html(c);$("#form_3").ajaxForm(function(e){$("#form_3 input").val(a);$("#content3").html(e)})}else{d.preventDefault();$(this).val(b);$("#content3").html("")}});$("#form_4 input").on("click",function(d){if($(this).val()==b){$("#content4").html(c);$("#form_4").ajaxForm(function(e){$("#form_4 input").val(a);$("#content4").html(e)})}else{d.preventDefault();$(this).val(b);$("#content4").html("")}});$("#form_5 input").on("click",function(d){if($(this).val()==b){$("#content5").html(c);$("#form_5").ajaxForm(function(e){$("#form_5 input").val(a);$("#content5").html(e)})}else{d.preventDefault();$(this).val(b);$("#content5").html("")}});$("#form_6 input").on("click",function(d){if($(this).val()==b){$("#content6").html(c);$("#form_6").ajaxForm(function(e){$("#form_6 input").val(a);$("#content6").html(e)})}else{d.preventDefault();$(this).val(b);$("#content6").html("")}});$("#form_7 input").on("click",function(d){if($(this).val()==b){$("#content7").html(c);$("#form_7").ajaxForm(function(e){$("#form_7 input").val(a);$("#content7").html(e)})}else{d.preventDefault();$(this).val(b);$("#content7").html("")}});$("#form_8 input").on("click",function(d){if($(this).val()==b){$("#content8").html(c);$("#form_8").ajaxForm(function(e){$("#form_8 input").val(a);$("#content8").html(e)})}else{d.preventDefault();$(this).val(b);$("#content8").html("")}});$("#form_9 input").on("click",function(d){if($(this).val()==b){$("#content9").html(c);$("#form_9").ajaxForm(function(e){$("#form_9 input").val(a);$("#content9").html(e)})}else{d.preventDefault();$(this).val(b);$("#content9").html("")}});$("#form_10 input").on("click",function(d){if($(this).val()==b){$("#content10").html(c);$("#form_10").ajaxForm(function(e){$("#form_10 input").val(a);$("#content10").html(e)})}else{d.preventDefault();$(this).val(b);$("#content10").html("")}});$("#form_11 input").on("click",function(d){if($(this).val()==b){$("#content11").html(c);$("#form_11").ajaxForm(function(e){$("#form_11 input").val(a);$("#content11").html(e)})}else{d.preventDefault();$(this).val(b);$("#content11").html("")}});$("#form_12 input").on("click",function(d){if($(this).val()==b){$("#content12").html(c);$("#form_12").ajaxForm(function(e){$("#form_12 input").val(a);$("#content12").html(e)})}else{d.preventDefault();$(this).val(b);$("#content12").html("")}});$("#form_13 input").on("click",function(d){if($(this).val()==b){$("#content13").html(c);$("#form_13").ajaxForm(function(e){$("#form_13 input").val(a);$("#content13").html(e)})}else{d.preventDefault();$(this).val(b);$("#content13").html("")}})});

Вызов содержимого при нажатии

<div class="container" style="padding:0px; margin:0 auto;text-align:center">
      <p style="font-size: 20px !important;color: grey;font-weight: normal !important;font-family: initial;">Больше авиабилетов из Москвы в Адлер</p>
<div class="div_form">
    <form method="post" action="adler.php" name="form1" id="form_1" >
    <input  type="submit" value="Показать" class="btn btn-info">
    </form>
    </div>
             <div style="clear: both"></div>
          <div class="demo" >
       <div class="table-responsive" id="content1">
      </div></div></div>

Вот содержимое файла adler.php

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body>

<?php
ini_set('display_errors','On');
error_reporting('E_ALL');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://api.travelpayouts.com/v1/prices/calendar?currency=RUB&origin=MOW&destination=AER"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Access-Token: ********"));
$response = curl_exec($ch);
curl_close($ch);
$obj = json_decode($response);
echo '<table  id="example" class="display nowrap" cellspacing="0" width="100%">';
echo '<thead>';
echo '<tr>';
echo '<th></th>';
echo '<th>Дата вылета</th>';
echo '<th>Стоимость</th>';
echo '<th>Авиакомпания</th>';
echo '<th>Дата возвращения</th>';
echo '<th>Номер рейса</th>';
echo '<th>Поиск</th>';
echo '</tr> ';
echo '</thead>';
echo '<tfoot>';
echo '<tr>';
echo '<th></th>';
echo '<th>Дата вылета</th>';
echo '<th>Стоимость</th>';
echo '<th>Авиакомпания</th>';
echo '<th>Дата возвращения</th>';
echo '<th>Номер рейса</th>';'<th>Поиск</th>';
echo '</tr> ';
echo '</tfoot>';
echo '<tbody> ';
$price = 0;
$num = 0;
$airline = array();
foreach ($obj->data as $key => $item) {
    $num++;
    $price += $item->price;
    if(isset($airline[$item->airline])){
        $airline[$item->airline]++;
    }else{
        $airline[$item->airline] = 1;
    }
 ;
echo '<tr>';
 echo '<td></td>'; 
    echo '<td>' . date("Y/m/d", strtotime($item->departure_at)) . '</td>';
    echo '<td>' . $item->price . '</td>'; 
    echo '<td><img alt="" src="http://pics.avs.io/100/40/' . $item->airline . '.png"></td>';   
    echo '<td>' . date("Y/m/d", strtotime("$item->return_at")) . '</td>';    
    echo '<td>' . $item->flight_number . '</td>';
   echo '<td style="    background: #004a90;
    text-decoration: none!important;
    color: #fff;"><a style="    background: #004a90;
    text-decoration: none!important;
    color: #fff;" rel="nofollow" href="http://bilety.avia-avia.ru/flights/?origin_iata=MOW&destination_iata=AER&depart_date=' . date("Y-m-d", strtotime($item->departure_at)) . '&return_date='. date("Y-m-d", strtotime("$item->return_at")) . '&marker=87111&with_request=true">Поиск</a></td></tr> ';}   echo '</tbody></table>' ;?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.5.0/css/buttons.dataTables.min.css">
    <style type="text/css" class="init">
    </style>
<script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.12.4.js">
    </script>
    <script type="text/javascript" language="javascript" src="/js/jquery.dataTables.min.js">
    </script>
    <script type="text/javascript" language="javascript" src="/js/dataTables.buttons.min.js">
    </script>
    <script type="text/javascript" language="javascript" src="/js/jszip.min.js">
    </script>
    <script type="text/javascript" language="javascript" src="/js/pdfmake.min.js">
    </script>
    <script type="text/javascript" language="javascript" src="/js/vfs_fonts.js">
    </script>
    <script type="text/javascript" language="javascript" src="//cdn.datatables.net/buttons/1.5.0/js/buttons.html5.min.js"></script>
    <script type="text/javascript">

$(document).ready(function() {
    $('#example').DataTable( {
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5'
        ]
    } );
} );

    </script>
</body>
</html>
Answer 1

Подгруженная страница не выполняет JS, это лишь html\css данные. Сделайте по-другому. Пусть таблица подругужается, а когда подгрузится выполняется код по созданию из подгруженной таблицы табиличку с кнопочками.

READ ALSO
форма отправки +php jason+chartjs

форма отправки +php jason+chartjs

Дайте простой пример изменения данных для графика chartjsУ меня не получается отправить данные из формы как json в json php файл, и чтоб данные там...

149
Расчитать начальные координаты пули

Расчитать начальные координаты пули

Пишу 2d игру с видом сверхуКак рассчитать начальные координаты пули, которая должна быть на конце ствола? Т

220
Как перевести INT в PCHAR в режиме ядра Windows?

Как перевести INT в PCHAR в режиме ядра Windows?

Как перевести INT в PCHAR в режиме ядра Windows ? Я знаю как перевести в обычной проге но вот в режиме ядра (написания драйвера) не знаю получиться...

150
N случайных элементов из std::set

N случайных элементов из std::set

Есть std::set минимум из N элементовКак выбрать N разных случайных?Порядок любой

215