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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Кнопки +/- и дерево

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как связать кнопочки с элементами дерева
quinlena
Отправлено: 23 Октября, 2012 - 09:21:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012  
Откуда: Казахстан


Помог: 0 раз(а)




Имеется раскрывающееся дерево, есть кнопочки плюс/минус, отдельно меняются плюс на минус и наоборот. Но вот при этом содержимое не показывается. Вот код, функция:
PHP:
скопировать код в буфер обмена
  1.  
  2.   function tree_print(&$a_tree,$id_par_service=0)
  3.   {
  4.     //условие завершения рекурсии
  5.     //Условие, при котором функция никогда не вызывает сама себя
  6.  
  7.     //функция empty() - вернет ложь во всех нужных нам случаях:
  8.     // - элемент массива не определен
  9.     // - элемент массива определен, но является пустым массивом
  10.     if(empty($a_tree[$id_par_service])) {
  11.         return;}
  12.  
  13.     echo "<ul class='open_list' ><div class='close'>";
  14.    
  15.  
  16.     for($i=0;$i<count($a_tree[$id_par_service]);$i++)
  17.     {     $style=mysql_query("select * from `dir_service` where `id_service`='".$a_tree[$id_par_service][$i]['id_service']."'");
  18.           $style=mysql_fetch_assoc($style);
  19.       if ($style['parent']==1){
  20.       echo "<li><i class='plus'>+</i><label><INPUT TYPE=RADIO  NAME=parent  VALUE=".$a_tree[$id_par_service][$i]['id_service']."><span >".$a_tree[$id_par_service][$i]['name_service']."<label></span>";
  21.       }
  22.       //onclick='tgg_parent(this);'
  23.       if ($style['parent']==0){
  24.       echo "<li ><i class='minus'>-</i><INPUT TYPE=RADIO  NAME=parent  VALUE=".$a_tree[$id_par_service][$i]['id_service']." ><span >".$a_tree[$id_par_service][$i]['name_service']."</span>";
  25.       }
  26.      
  27.       //рекурсивный вызов - список всех дочерних элементов нужно вставить
  28.       //  именно в этом месте:
  29.       //  <li>название
  30.       //     ** тут список дочерних элементов, он показывается рекурсивным вызовом **
  31.       //  </li>
  32.       tree_print($a_tree,$a_tree[$id_par_service][$i]['id_service']);
  33.       echo "</li>";
  34.     }
  35.     echo "</div></ul>";
  36.    
  37.   }
  38.  
  39.  

Собственно js-код
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3.         jQuery('.open_list div').slideUp();
  4.     jQuery('.open_list i').click(function(){
  5. if(!jQuery(this).parent().children('div')){jQuery(this).className()='minus';}else{jQuery(this).toggleClass('plus minus');}
  6. jQuery(this).parent().children('div').slideToggle();
  7. jQuery(this).parent().children('div').toggleClass('close open');
  8. if(jQuery(this).hasClass('plus')){jQuery(this).text('+');}else{jQuery(this).text('-');}
  9.  
  10. });
  11.  
  12. })

Ну и css
CODE (htmlphp):
скопировать код в буфер обмена
  1. .ul.open_list li {margin: 0px; background: none;}
  2. .open_list li i {color: #f00;}
  3. .itemBody .open_list li .close {display: none;}
  4. .itemBody .open_list li .open{display: block;}
 
 Top
Zuldek
Отправлено: 23 Октября, 2012 - 09:55:48
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Консоль ошибок что вам говорит
 
 Top
quinlena
Отправлено: 24 Октября, 2012 - 06:13:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012  
Откуда: Казахстан


Помог: 0 раз(а)




Zuldek пишет:
Консоль ошибок что вам говорит

Ошибок нет
 
 Top
Zuldek
Отправлено: 24 Октября, 2012 - 11:07:08
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




И как вы думаете почему?
jQuery('.open_list i').click(function()...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB