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]   

> Описание: Нужна схема для написания кода
Тали Сергей
Отправлено: 27 Июня, 2015 - 14:04:29
Post Id


Новичок


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


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




Доброго времени суток, друзья. Я еще в процессе обучения, и пишу первый сайт. И вот выскочила такая задача: необходимы 2 <select>-a зависимые друг от друга; то есть по выбору в первом - во втором должны появляться те позиции, которые соответствуют позиции выбранной в первом <select>; По выбору в одном из 2х<select>-ов должно перекидывать на другой шаблон и добавлять в него информацию из БД. Информация в <select>-ах тоже из БД и блок с <select>-ами подключен на всех ключевых страницах сайта. Подскажите пожалуйста порядок написания, примерный хотя бы; что использовать. А дальше я постараюсь сам, все таки хочется понять принцип (да и никто не будет это делать).
(Тематика сайта - космос (игра), а точнее карты - первый <select> - Галактики, второй - Системы в галактиках)
Спасибо.
Чуть не забыл, самое главное. Так как будет зависимость второго от первого, а при выборе <option>-a в первом <select>-e будет перебрасывать на другую страницу, важно чтобы ПЕРВЫЙ <select> не обнулялся, для возможности выбора систем принадлежащих этой галактике.
 
 Top
DeepVarvar Супермодератор
Отправлено: 27 Июня, 2015 - 15:48:11
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




 
 Top
Тали Сергей
Отправлено: 27 Июня, 2015 - 16:52:52
Post Id


Новичок


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


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




DeepVarvar пишет:
http://forum.php.su/topic.php?forum=1&topic=8828&postid=1429822639#1429822639

Спасибо, буду разбираться
(Добавление)
DeepVarvarDeepVarvar

Благодарен за скрипт, но jqure пока знаю не так хорошо, немогли бы вы откоментировать этот блок____________________________ _______________________________

CODE (javascript):
скопировать код в буфер обмена
  1. childName = sel.attr('data-child');
  2.                                        
  3.                     if (childName) { child = initChain(childName);
  4.                         if (child) { child.attr('disabled', true); }
  5.                     sel.data('child', child);
  6.                     }

________________________________ ________________________________ _____



CODE (javascript):
скопировать код в буфер обмена
  1.         $(function() {
  2.  
  3.  
  4.                 initChain('level_one');
  5.  
  6.  
  7.                 function initChain(name)
  8.                 {
  9.                     var childName, child, sel = $('select[name="' + name + '"]');
  10.  
  11.                     if (!sel.length) { return false; }
  12.                                        
  13.                     childName = sel.attr('data-child');
  14.                                        
  15.                     if (childName) { child = initChain(childName);
  16.                         if (child) { child.attr('disabled', true); }
  17.                     sel.data('child', child);
  18.                     }
  19.                     sel.on('change', function() {
  20.                         var val = parseInt(sel.val(), 10);
  21.                         if (!val) {
  22.                             resetChain(child);
  23.                         } else if (child) {
  24.                             $.ajax({
  25.                                 type     : 'POST',
  26.                                 url      : '/selects-data.txt',
  27.                                 data     : {id: val},
  28.                                 dataType : 'json',
  29.                                 success  : function(response) {
  30.                                     setChain(child, response);
  31.                                 }
  32.                             });
  33.                         }
  34.                     });
  35.  
  36.                     return sel;
  37.                 }
  38.  
  39.                 function resetChain(sel)
  40.                 {
  41.                     if (sel) {
  42.                         resetChain(sel.data('child'));
  43.                         sel.html('').attr('disabled', true);
  44.                     }
  45.                 }
  46.  
  47.                 function setChain(sel, data)
  48.                 {
  49.                     var
  50.                         i,
  51.                         child = sel.data('child');
  52.  
  53.                     if (child) {
  54.                         resetChain(child);
  55.                     }
  56.                     sel.html('');
  57.                     for (i in data) {
  58.                         sel.append(
  59.                             '<option value="' + data[i].value +
  60.                             '">' + data[i].description + '</option>'
  61.                         );
  62.                     }
  63.                     sel.removeAttr('disabled');
  64.                 }
  65.  
  66.             });
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Июня, 2015 - 00:29:14
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Кеширует элементы для того чтобы повторно не лазить в ДОМ
 
 Top
Тали Сергей
Отправлено: 28 Июня, 2015 - 09:12:02
Post Id


Новичок


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


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




DeepVarvar пишет:
Кеширует элементы для того чтобы повторно не лазить в ДОМ
Спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB