За последние 24 часа нас посетили 18197 программистов и 1596 роботов. Сейчас ищут 969 программистов ...

Как передать значение из id в js?

Тема в разделе "JavaScript и AJAX", создана пользователем sirocco, 26 фев 2012.

  1. sirocco

    sirocco Активный пользователь

    С нами с:
    13 фев 2012
    Сообщения:
    5
    Симпатии:
    0
    Есть файл php, который парсит страничку. Так как данные меняются быстро, создан ajax скрипт, который обращается к парсеру, написанному на php, и выдаёт на страничку html новые данные.
    Содержимое php:
    Код (Text):
    1. <?php
    2. include('simple_html_dom.php');
    3. $html = file_get_html('http://192.168.1.7');
    4.  
    5. foreach($html->find('div[class=Bird-ON] p') as $BIRD_ON)
    6. if ($BIRD_ON== '<p>Bird-ON</p>')
    7. {
    8. echo '1';
    9. }
    10.  
    11. foreach($html->find('div[class=Bird-OFF] p') as $BIRD_OFF)
    12. if ($BIRD_OFF == '<p>Bird-OFF</p>')
    13. {
    14. echo '0';
    15. }
    16. ?>
    ajax скрипт:
    Код (Text):
    1. <script type="text/javascript">
    2.     $(document).ready
    3.     (
    4.      function()
    5.      {
    6.        $("#load").load("parsBird.php");
    7.        var refreshId = setInterval
    8.         (
    9.           function()
    10.           {
    11.            $("#load").load('parsBird.php');
    12.           },
    13.           1500
    14.         );
    15.        $.ajaxSetup({ cache: false });
    16.      } 
    17.     );
    18. </script>
    Вывод данных обновлённых аяксом:
    Код (Text):
    1. <div id="load"></div>
    Теперь нужно передать данные из <div id="load"></div> в скрипт для обработки. Если единица, то выводим кнопку №1, если ноль, то кнопку №2. Вот тут собственно и вопрос: Как передать значение из <div id="load"></div> в скрипт?
    Сам скрипт:
    Код (Text):
    1. <script type="text/javascript">
    2. a=
    3.   if (a == 1)
    4. {
    5. document.write('<div class="box"><a onclick="BirdON();" class="btn bulb_on"  >ON</a> </div>');
    6. }
    7. else
    8. {
    9. document.write('<div class="box"><a onclick="BirdOFF();" class="btn bulb_off" >OFF</a> </div>');
    10. }
    11. </script>
    К чему приравнивать\присваивать переменную "a"? Что только не пробовал, и load, и id... Подскажите как быть.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    напишу "на глаз" не запуская. суть в том, что у .load есть третий параметр (можно без второго писать) - функция, которая запускается по получении ответа. в нее передается сам ответ, и его можно там анализнуть.
    Код (PHP):
    1. <script type="text/javascript">
    2.    $(document).ready
    3.    (
    4.     function() 
    5.     {
    6.       $("#load").load("parsBird.php");
    7.       var refreshId = setInterval
    8.        (
    9.         function() 
    10.          {
    11.           $("#load").load('parsBird.php', function(data) {
    12. $('#кнопка1').hide();
    13. $('#кнопка2').hide();
    14.                     if (data == '1') {
    15.                               $('#кнопка1').show();
    16.                     } else {
    17.                               $('#кнопка2').show();
    18.                     }
    19. });
    20.          }, 
    21.         1500
    22.       );
    23.       $.ajaxSetup({ cache: false });
    24.     }   
    25.    );
    26. </script>
     
  3. sirocco

    sirocco Активный пользователь

    С нами с:
    13 фев 2012
    Сообщения:
    5
    Симпатии:
    0
    Спасибо! Условие срабатывает! Но только не понятно как туда ( в $('#кнопка1').show(); ) подключить свою кнопку, созданную в подключаемом CSS.
    Так:
    Код (Text):
    1. document.write('<div class="box"><a onclick="BirdON();" class="btn bulb_on"  >ON</a> </div>');
    Не прокатывает. Отображается только текст кнопки "ON"
    Так вообще ничего не отображается:
    Код (Text):
    1. $('<div class="box"><a onclick="BirdON();" class="btn bulb_on"  >ON</a> </div>').show();
    В том цикле переменная data хранит получаемые парсингом значения, но за циклом эта переменная недоступна.
    Как правильно подключить кнопку? Или как вытащить переменную, чтоб в другом скрипте она была доступна?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    кнопки надо отдельно нарисовать и спрятать.
     
  5. sirocco

    sirocco Активный пользователь

    С нами с:
    13 фев 2012
    Сообщения:
    5
    Симпатии:
    0
    Чего-то не могу догнать, где её нужно рисовать, в этом цикле, до, или после скрипта? и как?
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    отдельно просто нарисовать просто так и...

    короче проще заплатить 10$ комунить =)