За последние 24 часа нас посетили 32975 программистов и 1756 роботов. Сейчас ищут 847 программистов ...

Как отправить число в js, чтоб это была цифра?

Тема в разделе "PHP для новичков", создана пользователем j.r.r, 18 июл 2013.

  1. j.r.r

    j.r.r Активный пользователь

    С нами с:
    25 мар 2011
    Сообщения:
    21
    Симпатии:
    0
    Есть цикл for для генерации таблицы, вот отрывок:

    Код (Text):
    1.  
    2. ................
    3. echo "<table><tr id='tr$zn'><td>";
    4. echo "</td><td>";
    5. echo "$f[numb]"; //--- считывается из бд, равен "1"
    6. echo '<script language="javascript">a = "'.$zn.'"; b = "'.$f[numb].'";if (b==1){c = "tr"+a; c.style.backgroundColor = "#000";}</script>';
    7. и так далее...
    Переменная $zn - инкременируется при появлении каждой новой строки, т.е её "№" соответствует id строки.
    $f[numb] - показания с бд, которые идут в диапазоне от 1 до n

    Мне нужно, чтобы определённая строка, в зависимости от $f[numb] меняла цвет строки с номером $zn, который генерирует цикл, на нужный мне. Так вот как заставить считаться с тем, что показывает переменная "с", при alert всё прекрасно рисует, а вот ссылаться не хотит?
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в кавычки возьми ключ массива

    а что выдает этот код дай глянуть? почему ты решил что не пашет?
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    echo '<script language="javascript">var a = "'.$zn.'"; var b = "'.$f[numb].'";if (b==1){c = "tr"+a;
    а так?
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    parseInt()
     
  5. j.r.r

    j.r.r Активный пользователь

    С нами с:
    25 мар 2011
    Сообщения:
    21
    Симпатии:
    0
    так ведь массива то и нет.
    он просто напросто не делает ничего
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    может он и не должен. ты скрипт покажи какой получается

    правильно $f['numb']
     
  7. j.r.r

    j.r.r Активный пользователь

    С нами с:
    25 мар 2011
    Сообщения:
    21
    Симпатии:
    0
    Your спасибо большое за parseInt!!! Пробовал parsefloat, но ничего не работало, хотя до этого всегда помогало
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. <?php
    2. echo'<script type="text/javascript">
    3.         var a="'.$zn.'",
    4.             b=parseInt('.$f['numb'].');
    5.             if(1===b) {
    6.                 c="tr"+a; 
    7.                 c.style.backgroundColor="#000";
    8.             }
    9.     </script>';
    10. ?>
    Только для таких целей, лучше сделать метод и в него отправлять ответ от сервера.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    т.е. скрипт мы не увидим? =) будем дальше гадать?
     
  10. j.r.r

    j.r.r Активный пользователь

    С нами с:
    25 мар 2011
    Сообщения:
    21
    Симпатии:
    0
    Такой код не работает к сожалению, я сделал так:

    Этот код стоит в цикле, где генерируется таблица:
    Код (Text):
    1. echo '<script language="javascript">col_or[cc] = parseInt("'.$f[color].'"); cc += 1;</script>';
    А это внешний js:
    Код (Text):
    1. var tr = document.getElementsByTagName('table').item(0).getElementsByTagName('tr').length;
    2. for(j=1; j < tr-1; j++)
    3. {
    4.     c = parseInt(col_or[j]);
    5.     col = "tr"+j;
    6. if(c==1) //-- любое другое нужное число
    7. {
    8.     document.getElementById(col).style.backgroundColor = "ff0000";
    9. }
    10. }
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ладно, удачи.