Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как в javascript занести переменные из php
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как в javascript занести переменные из php

Страниц (1): [1]
 

1. Alex213 - 26 Июля, 2015 - 12:51:07 - перейти к сообщению
Подскажите как правильно прописать переменные в javascript, нужно, чтоб там, где стоит 1 в javascript вместо единицы присваивалось значение переменной <?=$row_tt['nid']?>, а именно .circle1, #add1, #remove1, так же и в стилях .circle1

PHP:
скопировать код в буфер обмена
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Документ без названия</title>
  6. <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <style>
  12. .circle1 {
  13.         background:url(img/ico/viem_p.png) no-repeat center center;
  14.         width:50px;
  15.         height:50px;
  16.         cursor:pointer;
  17. }
  18. .circle2 {
  19.         background:url(img/ico/viem_p.png) no-repeat center center;
  20.         width:50px;
  21.         height:50px;
  22.         cursor:pointer;
  23. }
  24. .activess {
  25.         background:url(img/ico/viem_c.png) no-repeat center center;
  26. }
  27. </style>


CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2. var d = document;
  3. d.addEventListener('DOMContentLoaded', function () {
  4.     var cirles = [].slice.call(d.querySelectorAll('.circle1'));
  5.  
  6.     [].forEach.call(d.querySelectorAll('#add1'), function (but) {
  7.         but.addEventListener('click', function () {
  8.             cirles.forEach(function (el) {
  9.                 el.classList.add('activess');
  10.             });
  11.         }, false);
  12.     });
  13.             [].forEach.call(d.querySelectorAll('#remove1'), function (but) {
  14.         but.addEventListener('click', function () {
  15.             cirles.forEach(function (el) {
  16.                 el.classList.remove('activess');
  17.             });
  18.         }, false);
  19.     });
  20.    
  21.     cirles.forEach(function (el) {
  22.         el.addEventListener('click', toggleCirсleClass);
  23.     });
  24.  
  25.     function toggleCirсleClass() {
  26.         this.classList.toggle('activess');
  27.     }
  28.  
  29. }, false);
  30.  
  31. </script>
  32.  


PHP:
скопировать код в буфер обмена
  1. <div>
  2. <?PHP require_once 'config.php';?>
  3. <?PHP
  4. if ($res_tt = mysql_query("SELECT nid, sid FROM tt ORDER BY nid, sid"))
  5. { $v=0;
  6.    while($row_tt = mysql_fetch_assoc($res_tt)){
  7.            if ($row_tt['nid']!=$v)
  8.            { $v=$row_tt['nid']; ?>
  9.  
  10.  
  11.  
  12. <li><button id="add<?=$row_tt['nid']?>">Colored All</button></li>
  13. <li><button id="remove<?=$row_tt['nid']?>">UnColored All</button></li>
  14.  
  15. <?PHP }    ?>
  16.  
  17. <div class="circle<?=$row_tt['nid']?>"><?=$row_tt['sid']?></div>
  18.                            
  19.                 <?PHP  } ?>                                              
  20. <?PHP
  21.          }
  22.         ?>
  23.     </div>
  24. </body>
  25. </html>
2. IllusionMH - 27 Июля, 2015 - 14:51:37 - перейти к сообщению
Alex213, дать элементам одинаковый класс, и выбираеть все элементы по нему. Добавить data-* атрибут, в котором хранить id (вот этот номер вместо единицы), и потом получать его значение.

И почитайте про делегацию событий, чтобы не навешивать обработчики в цикле

 

Powered by ExBB FM 1.0 RC1