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 :: Связанные списки select

 PHP.SU

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


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

> Описание: изменить с 2 на более
criaton
Отправлено: 11 Января, 2012 - 18:46:07
Post Id


Гость


Покинул форум
Сообщений всего: 93
Дата рег-ции: Февр. 2010  


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




Есть ajax код, для выбора категории и подкатегории, как его расширить на 3 и более связанных при открытии селектов

Первая часть:

CODE (htmlphp):
скопировать код в буфер обмена
  1. +"<tr><td>Категория</td><td>"
  2.     +"<select name='category' onChange='on_select_cat_edit();'>"
  3.     +"<option value='0'>Выберите категорию</option>";
  4.    for (n=0;n<mas_category.length;n++ )
  5.     {
  6.      if (mas_category[n]["hide"] == "hide") continue;
  7.      t+="<option value='"+mas_category[n]["id_category"]+"'>"+mas_category[n]["name"]+"</option>";
  8.      }
  9.    t+="</select>"
  10.     +"</td></tr>"
  11.     +"<tr><td>Подкатегория</td><td>"
  12.     +"<select name='podcategory' disabled='disabled'>"
  13.     +"<option value='0'>Выберите подкатегорию</option>"
  14.     +"</select>"
  15.     +"</td></tr>"
  16.  


Вторая часть:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function on_select_cat_edit()
  3.   {
  4.    
  5.    obj_cat=obj_form_edit.category;
  6.    obj_podcat=obj_form_edit.podcategory;
  7.    //obj_cat.options.length=1;
  8.    obj_podcat.options.length=1;
  9.    num_cat=obj_cat.value;
  10.    
  11.    if (num_cat==0)
  12.      {
  13.       obj_podcat.disabled=true;
  14.      }
  15.     else
  16.       {
  17.        n=1;
  18.        for (i=0;i<mas_podcategory.length;i++)
  19.         {
  20.          if (mas_podcategory[i]["n_category"]==num_cat)
  21.            {
  22.             /*
  23.              is_select=false;
  24.              if (mas_podcategory[i]["id_category"]==num_podcat)
  25.                is_select=true;*/
  26.             obj_podcat.options[n] = new Option(mas_podcategory[i]["name"],mas_podcategory[i]["id_category"],false,false);
  27.             n++;
  28.            }
  29.          
  30.          obj_podcat.disabled=false;
  31.         }
  32.      }
  33.  
  34.  }
  35.  
 
 Top
Panoptik
Отправлено: 11 Января, 2012 - 18:48:54
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




CODE (html):
скопировать код в буфер обмена
  1. <select name='podcategory' disabled='disabled' onchange='on_select_subcat_edit();'>


CODE (javascript):
скопировать код в буфер обмена
  1. function on_select_subcat_edit()
  2.   {
  3.   ...
  4.  }
  5.  


-----
Just do it
 
 Top
criaton
Отправлено: 11 Января, 2012 - 18:52:15
Post Id


Гость


Покинул форум
Сообщений всего: 93
Дата рег-ции: Февр. 2010  


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




Тоесть

on_select_subcat_edit();

в состоянии не активности будет понимать что ему предлогают подкатегрию и откроется
для продолжения
 
 Top
Panoptik
Отправлено: 11 Января, 2012 - 18:57:45
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




я не доконца понимаю суть вашей задачи. если у вас есть например 3 списка и при изменении первого нужно обновить значения второго, а при изменении второго нужно обновить значения третьего, то тогда пользуйте событие onchange на списке который при изменении должен подгружать данные в подчиненный. а в функции пишите опции подгрузки. я правильно понял вопрос?


-----
Just do it
 
 Top
criaton
Отправлено: 11 Января, 2012 - 19:02:16
Post Id


Гость


Покинул форум
Сообщений всего: 93
Дата рег-ции: Февр. 2010  


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




да правильно,

а если у одного товара две категории у другого три

то не подскажите как выловить последнее завершающее значение тоесть его номер
для записи в базу
 
 Top
Panoptik
Отправлено: 11 Января, 2012 - 19:07:32
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




давайте сперва определимся что именно у вас в списках и какая структура базы. и желательно конкретно задачу что именно вам нужно сделать...
если вы говорите что у одного товара несколько категорий подозреваю что речь идет об отношении много ко многим... тут на пальцах не рассказать. выкладывайте что у вас есть, и будем думать чем вам помочь


-----
Just do it
 
 Top
criaton
Отправлено: 11 Января, 2012 - 19:12:40
Post Id


Гость


Покинул форум
Сообщений всего: 93
Дата рег-ции: Февр. 2010  


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




да Ваш совет работает

хотя я делал так и у меня не получилось видимо сделал где то до этого ошибку

у каждого раздела есть свой name его нужно перехватить и размесить в базу mySQL

что система поняла что он последний для одно один селект а для других более

как перехватить id раздела
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB