Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   взаимосвязанные выпадающие списки (https://javascript.ru/forum/server/8632-vzaimosvyazannye-vypadayushhie-spiski.html)

xDMK 06.04.2010 11:28

взаимосвязанные выпадающие списки
 
У меня такая проблема: Я создал сайт с библиотеками smarty и php. У меня в php извлекается из бд несколько столбцов. В smarty сделан шаблон

<form action = "index.php?search=ok" method="POST" enctype="multipart/form-data">
<table border="0">
<tr>
<td>
<select name="ckod" id="select1">
<option value="0">Выберите страну</option>
{foreach from=$cod item=new}
{$new.id}<option value="{$new.id}" selected>{$new.countrycod}</option>
{/foreach}
</select>
</td>
<td>
<select id="select2" name="country" style="display:none;">
{foreach from=$codcontry item=new2}
{$new2.id}<option value="{$new2.cod_zone}">{$new2.cod_contry}</option>
{/foreach}

</select>
</td>
<td>
<select name="rkod" id="select3" style="display:none;">
{foreach from=$reg item=new1}
{$new1.id}<option value="{$new1.cod_def}">{$new1.cod_def}</option>
{/foreach}
</select>
</td>
Мне нужно чтобы при выборе одного элемента в первом списке выбиралась соответствующие элементы во втором. Типа как на сайтах знакомств при поиске и выборе страны, области и города. Появление самих списков и при выборе например России появлялись регионы России, а при выборе США появлялись списки регионов США. А при выборе регионов ещё список. Помогите! как это сделать ?

Gozar 06.04.2010 14:03

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

xDMK 06.04.2010 14:46

понимаете. фишка в том что у меня извлекается и бд Mysql. И я нашел динамические списки но там не рассматривается. Как мне брать элементы если их нету. Извлекаются из бд.

Gvozd 06.04.2010 15:40

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

xDMK 06.04.2010 23:20

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

xDMK 06.04.2010 23:21

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

SkyLight 07.04.2010 11:24

Уважаемый, динамические списки уже далеко не новость, а часто используемая структура. Вам что, лень было поискать и почитать найденное? Материала-то куча, причем не где-нибудь, а прямо на первой странице выдачи.

xDMK 09.04.2010 11:33

я наверно не так описал ситуацию, понимаете у меня всё из базы выводить в эти списки и они должны появляться последовательно. когда выбираешь один из элементов. Например при выборе 1 должны имеено определенные числа( элементы обозначающие один в таблице) если их нету то загружается третий список и выбирается там соответствующие номеру один числа. и тд . Если не сложно вам помогите составить хотябы пример такого же. Я поглядел на пример со странами где выбираешь россию и загружается москва и тд города. но как мне реализовать с помощью бд. Если я извлек все данные тоесть 1, 2,3 соотвествуют своим элементам. тоесть 1 соответствует 920, 1 соответствует 930 и тд у меня так и идёт в одной таблице. Мне также с остальными, Что то похожее я нигде не видел там где вы сказали искать.

а Главное чтобы всё это было с помощью Jquery и ajax

SkyLight 09.04.2010 12:43

Ну так и подумайте, как, имея id из списка, получить с сервера связанные с ним данные. Пробуйте, если что-то не будет получаться - задавайте вопросы и приводите код. Если хотите готовый скрипт, то вам сюда.

walik 11.04.2010 10:57

Если я правильно понял - есть событие onchange.
Как только срабатывает событие, проверяешь что выбрал пользователь и отправляешь AJAX запрос на сервер для получения нового списка.


Часовой пояс GMT +3, время: 14:09.