2015-03-06 2 views
0

Я пытаюсь использовать echo JQuery alert с PHP. Метод, который я использую, состоит в том, чтобы повторить все теги сценария, а затем JQuery внутри него. JQuery работает, потому что оповещения в другом месте работают. библиотека JQuery загружается перед кодом, который я пытаюсь сделать, так что это не так.PHP: Повторение предупреждения JQuery из case case

ниже мое текущее заявление:

date_default_timezone_set('Europe/London'); #server timezone 
    $now = date('His'); #current time 
    $cl = '173000'; #closing time 
    $op = '084500'; #opening time 

    switch (true) { 
     case $now < $cl && $now > $op: 
      echo "open 
      <script type='text/javascript'> 
       $(document).ready(function(){ 
        alert('open'); 
       }); 
      </script> 
      "; 
      break; 

     case $now > $cl && $now < $op: 
      echo 'closed'; 
      break; 

     default: 
      echo("neither closed nor open. dun dun duuuuun"); 
      break; 
    } 

Я знаю, что оператор работает в какой-то степени, потому что отображается открытая струна. Я также вижу тег сценария пока они не кажется, чтобы выполнить смотри ниже:


Это изображение показывает, что открытый текст непосредственно перед скриптом echo'd на страницу

The script is wrote into the page but not terminated


Это изображение показывает, что тег сценария помещается на страницу, но не выполняется

This is where the open text works


Update:

Ответ был, что JQuery на самом деле не загружен, как я думал, что это было. номер версии был неправильным. по какой-то причине это было:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.4.3/jquery.min.js"></script> 

Теперь я изменил его:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2/jquery.min.js"></script> 

причина, почему я покинул 2.xx из происходит потому, что принимал библиотека выберет самую последнюю версию 2 сейчас.

+0

Вы эхо из javascript на или ? Возможно, стоит распечатать его в нижней части страницы, до закрытия, если вы еще этого не сделали. –

+0

Почему бы вам просто не задать переменную и позволить вашему представлению/temlate/html обрабатывать предупреждение? Вы получаете какие-либо ошибки консоли? Загружаете ли вы jQuery до введенного тега скрипта? –

ответ

1

У вас есть аккаунт jQuery который вы хотите удалить? Кстати, если вы хотите просто alert что-то, вы на самом деле не нужно JQuery, просто использовать:

<script>alert('open');</script>

+0

Я использую JQuery, потому что это будет длинный оператор. Itsa был jsut, чтобы проверить, загрузило ли оно предупреждение – Kieranmv95

+0

Конечно, поэтому, как и все остальные комментарии и ответы здесь, этот jQuery либо вообще не загружен, либо загружен слишком поздно (т. Е. После выполнения скрипта). –

+0

это была ошибка, но вы были правы, я приму ответ за 3 минуты, спасибо. пикник. проблема в сиденье не в компьютере – Kieranmv95

1

Это может быть несколько вопросов.

- это библиотека jQuery, фактически включенная на страницу? также проверяйте журналы консоли на наличие ошибок. любая ошибка javascript на странице предотвратит выполнение любого другого javascript.