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 :: Версия для печати :: Связать свойства
Форумы портала PHP.SU » » Вопросы новичков » Связать свойства

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

1. madlabel - 12 Января, 2017 - 13:20:21 - перейти к сообщению
Имеется 2 таблицы: Свойства и Варианты свойств
Соответственно:

table properties (свойства товара)
id | title

table variants (варианты свойств)
id | property_id | title

При создании нового товара вывожу свойства в шаблон в виде label + input:
CODE (htmlphp):
скопировать код в буфер обмена
  1. {foreach $all_properties as $property}
  2. <label>{$property->title}</label> //Название СВОЙСТВА
  3. <input type="text" name="properties[{$property->id}]> //Его ID
  4. {/foreach}


Далее делаю .each(){} по всем input'ам и на каждое поле цепляю autocomplete() который в свою очередь цепляет все варианты товара через ajax, т.е идёт запрос на скрипт с параметрами params[] = {property_id: property_id};
После чего нажимаю на текстовое поле и вижу, как подгружаются все варианты данного свойства.

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

Может кто-то поделится советом? Улыбка
2. broshurkaplus - 12 Января, 2017 - 13:52:57 - перейти к сообщению
не до конца понял, но может быть так:
повесить событие на элемент и при его изменении
$(document).on('change',...
отправлять ajax тип данных, а на сервере проверять - если город - возвращать улицы, если улица - соответственно дома и тд.

 

Powered by ExBB FM 1.0 RC1