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 :: помогите разобраться с jquery [2]

 PHP.SU

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


 Страниц (3): « 1 [2] 3 »   

> Опрос
низнаю что спросить
Для голосования и просмотра результатов опроса войдите или зарегистрируйтесь

> Описание: помогите разобраться с jquery
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 10:50:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Попробуйте так:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(this).find('li:not(li #file)').addClass('folder');
  3.  
 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 10:50:57
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




armancho7777777 пишет:
Покажите весь код.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <ul id="menu">
  2.         <li><a href="">Главная</a>
  3.         <ul>
  4.                 <li><a href="#">111</a></li>
  5.         </ul>
  6.     </li>
  7.         <li><a href="">Продукция</a>
  8.                 <ul>
  9.                 <li><a href="">Мясные продукты</a>
  10.                                 <ul>
  11.                         <li><a href="">Колбаса</a>
  12.                                 <ul>

ну и далее

PHP:
скопировать код в буфер обмена
  1. $(document).ready(function()
  2.         {
  3.                 $('#menu').each(function(o)
  4.                         {
  5.                                 var o =$.extend(o);
  6.                                 var tree=$(this);
  7.                         tree.addClass('tree').children('li:first').prepend('<div class="first"></div>');
  8.                                 tree.children('li:last').addClass('last');
  9.                                         tree.find('ul').each(function()
  10.                                                 {
  11.                                                         $(this).children('li:last').addClass('last');
  12.                                                 });
  13.                                 tree.find('li:not(li #file)').addClass('folder'); //выбираем элементы которые относятся к группам и ставим вид папки
  14.                         });
  15.                                
  16.         });
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 10:52:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




3d_killer пишет:
var tree=$(this);

Перепишите это так:
var tree=$(this).add();
(Добавление)
Опишите что должен сделать этот код. Попробую переписать.
 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 10:56:55
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




вот допустим где модели идут должен стоять значек папки без плюсика ну про плюсик я не говорю а вложеные элементы должны быть ну то есть номенклатура другим значком
(Добавление)
PHP:
скопировать код в буфер обмена
  1. tree.find('li:not(#file)').addClass('folder');

так работает еще раз спасибо
Прикреплено изображение (Нажмите для увеличения)
menu.jpg
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 11:01:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Вы объясните всё, от начала и до конца.
Что должен делать этот код?

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. $(document).ready(function()
  5.         {
  6.                 $('#menu').each(function(o)
  7.                         {
  8.                                 var o =$.extend(o);
  9.                                 var tree=$(this);
  10.                         tree.addClass('tree').children('li:first').prepend('<div class="first"></div>');
  11.                                 tree.children('li:last').addClass('last');
  12.                                         tree.find('ul').each(function()
  13.                                                 {
  14.                                                         $(this).children('li:last').addClass('last');
  15.                                                 });
  16.                                 tree.find('li:not(li #file)').addClass('folder'); //выбираем элементы которые относятся к группам и ставим вид папки
  17.                         });
  18.                                
  19.         });
  20.  
  21.  

(Отредактировано автором: 13 Августа, 2011 - 11:02:23)

 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 11:05:45
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




код должен строить дерево типо категории, подкатегории выводится все с одной таблицы и у них значек в виде папки но как токо функция находит что в папке есть номенклатура начинает выводить ее но значки другие должны быть (код вывода написан), вот сейчас пытаюсь сделать внешний вид, функция написана так что является универсальной то есть вложенность элементов может быть безконечна.
(Добавление)
так как только начал изучение Ajax возникают такие вопросы в интернете просто не могу найти толкового справочника по командам с примерами
(Добавление)
еще пытался прикрутить кукисы но так и не получилось чтобы запоминало состояние дерева при обновлении страницы то есть открытые закрытые элементы вопрос задавал тут там же полный код http://forum.php.su/topic.php?fo...0&topic=2883
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 11:10:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Здесь про ajax есть темы и видео-уроки:

http://www[dot]sdelaysite[dot]com/
(Добавление)
Что-то не пойму...

Как это выводится?

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <ul id="menu">
  3.         <li><a href="">Главная</a>
  4.         <ul>
  5.                 <li><a href="#">111</a></li>
  6.         </ul>
  7.     </li>
  8.         <li><a href="">Продукция</a>
  9.                 <ul>
  10.                 <li><a href="">Мясные продукты</a>
  11.                                 <ul>
  12.                         <li><a href="">Колбаса</a>
  13.                                 <ul>
  14.  




Данные выводятся из БД в цикле?

(Отредактировано автором: 13 Августа, 2011 - 11:11:21)

 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 11:16:39
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




PHP:
скопировать код в буфер обмена
  1. function ShowTree($ParentID, $lvl)
  2. {
  3.         global $lvl;
  4.         $lvl++;
  5.         $sSQL=('SELECT * FROM category WHERE `parent`='.$ParentID);
  6.         $result=mysql_query($sSQL);
  7.         if (mysql_num_rows($result) > 0)
  8.                 {
  9.                         echo("<UL id='tree_four'>\n");
  10.                                 while ( $row = mysql_fetch_array($result) )
  11.                                         {
  12.                                                 $ID1 = $row["id"];
  13.                                                 echo("<LI>\n");
  14.                                                 echo("<A HREF=\""."?ID=".$ID1."\">".$row["name"]."</A>"."  \n");
  15.                                                         $zapros_tavarov=('SELECT * FROM tovar WHERE `parent`='.$ID1);
  16.                                                         $tovar=mysql_query($zapros_tavarov);
  17.                                                         if (mysql_num_rows($tovar) > 0)
  18.                                                                         {
  19.                                                                                 while ( $row1 = mysql_fetch_array($tovar) )
  20.                                                                                         {
  21.                                                         $zapros_tavarov=('SELECT * FROM tovar WHERE `parent`='.$ID1);
  22.                                                                                 echo("<LI style='padding-left:30px'>\n");
  23.                                                                                 echo("<A HREF=\""."?ID=".$row1['id']."\">".$row1['name']."</A>"."  \n");
  24.                                                                                         }
  25.                                                                         }
  26.                                                                        
  27.                                                 ShowTree($ID1, $lvl);
  28.                                                 $lvl--;
  29.                                         }
  30.                         echo("</UL>\n");
  31.                 }
  32. }
  33. ShowTree(0, 0);
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 11:21:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Зачем дерево-то строить?
Если оно уже есть.
Списки выводятся уже. Всё, что надо, это всё кроме первого ul>li скрыть, и отображать по клику по определённой папке. Если в папке что-то есть, то стоит плюсик, в противном случае фон папки чистый.

(Отредактировано автором: 13 Августа, 2011 - 11:23:00)

 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 11:24:36
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




дерево то есть но Ajax придать пытаюсь внешний вид как на скриншоте выше последние элементы выглядят не так как я хочу и горизонтальные линии должны идти к каждому товару + сохранение вида дерева при обновлении страницы вот вобщем так
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 11:41:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Вот немного ajaxa:



CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. // #idElementLoad - id элемента, куда подгружаются полученные данные
  4. // php_file.php - файл обработчик полученных данных (укажите путь, если надо)
  5. // data, data2 = отправляемые данные
  6.  
  7. var data = ....;
  8. var data2 = ...;
  9.  
  10. $('#idElementLoad').load('php_file.php',{data : data, data2 : data2});
  11.  
  12.  
  13.  


А в php файле полученные данные обрабатываются как POST переменные:

$_POST('data');
$_POST('data2');

А как сохранить открытые папки после обновления страницы я, к сожалению, не знаю)

(Отредактировано автором: 13 Августа, 2011 - 11:56:45)

 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 11:48:09
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




ну с деревом я уже разобрался только вот единственное не могу придумать конструкцию условие:
если у дерева с классом таким есть дочерние элементы то делать то если нет то делать то
само условие не знаю как написать типо есть ли дочерние элементы
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 11:51:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. if ($(this).is(':has(ul)')) {
  4.  
  5. // ....
  6.  
  7. } else {
  8.  
  9. // .....
  10.  
  11. }
  12.  
  13.  
 
 Top
3d_killer
Отправлено: 13 Августа, 2011 - 12:00:35
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




почемуто все равно показывает на всех типо условию удовлетворяет
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (tree.is(':has(ul)'))
  2.                                 {
  3.                                         if (o.closeFolders)
  4.                                                 {
  5.                                                         tree.find('ul').hide();
  6.                                                 }
  7.                                         else
  8.                                                 {
  9.                                                         tree.find('.folder').addClass('open').prev('span').addClass('minus');
  10.                                                 }
  11.                                 }
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2011 - 12:05:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




А так:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. if($(this).find(':has(ul)')) {
  4.  
  5. //....
  6.  
  7. } else {
  8.  
  9. //....
  10.  
  11. }
  12.  
  13.  

(Отредактировано автором: 13 Августа, 2011 - 12:15:14)

 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 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