- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Задумка такая:
В первом селекте - страны
Во втором - города
В третьем - филиалы
* При выборе значения из первого селекта, выскакивает второй( со значением по умолчанию столица страны) и третий(по умолчанию первый филиал из выборки по базе) - частично реализовал, не заполняется третий селект
* Если выбран пункт во втором селекте, но в этом городе нет филиалов, то третий селект - display:none;. Если перевыбрать город, естественно третий селект тоже обновляется.
Если выбрать московскую область, то во втором селекте сразу заполняется город - Москва, а третий селект так и пустует. Но если выбрать другой город, а потом снова Москва, то третий селект заполнится.
Как это работает сейчас: blogcode.ru/2.php
2.php
chained.js
getcities.php
if(isset($_GET['countryCode'])){
mysqli_set_charset($db, 'utf8') or die("Can't set sharset");
$query = "SELECT region, id, city FROM city where region =".$_GET['countryCode'];
$res = mysqli_query($db, $query);
$res = mysqli_fetch_all($res, MYSQLI_ASSOC);
foreach($res as $key){
echo "obj.options[obj.options.length] = new Option('$key[city]','$key[id]');\n";
}
}
getdrom.php
if(isset($_GET['cityCode'])){
mysqli_set_charset($db, 'utf8') or die("Can't set sharset");
$query = "SELECT city,name, id FROM drom where city =".$_GET['cityCode'];
$res = mysqli_query($db, $query);
$res = mysqli_fetch_all($res, MYSQLI_ASSOC);
foreach($res as $key){
echo "obj.options[obj.options.length] = new Option('$key[name]','$key[id]');\n";
}
}
первый элемент селекта - на него onchange не срабатывает видимо, поэтому и не подгружаются дальше значения
первый элемент селекта - на него onchange не срабатывает видимо, поэтому и не подгружаются дальше значения
Нет, он срабатывает, там все подгружается, не срабатывает судя по всему что-то на втором, потому что если перевыбрать во втором, то третий отображается.
veleg,
onchange() срабатывает же при СМЕНЕ селекта.
вот смотрите. Вы нажали выбор в первом селекте. сработал JS и подгрузил 2-й селект. Но он у вас по умолчанию загрузился. Третий же селект опять работает по событию onchange() А его нет! Но как только вы перевыбрали во втором селекте значение - все норм, функция сработала. Проверяйте логику работы скрипта. При изменении первого селекта должен запускаться 2-й и 3-ий а не только второй
Я вас понял, спасибо.
В какую сторону смотреть, у меня знания js на интуитивном уровне.
Добавил в getcities.
Все работает. Как после выбора города, сделать этот option недоступным?
в html это выглядит так:
а в первом коде как реализовать?
Для начала:
PHP - отдельно
HTML - отдельно
А то даже нет желания парсить ваш поток сознания.
Для начала:
PHP - отдельно
HTML - отдельно
А то даже нет желания парсить ваш поток сознания.
Окей.
Как вот это
Изобразить в таком виде:
Как после выбора города, сделать этот option недоступным
Удалить его нафиг.
1) определяете глобальную переменную, например var city;
2) при выборе области задаёте ей значение city=0;
3) на второй select вешаете onchange="delfirst(this)"
Сама функция:
function delfirst(sel){if(city==0){
sel.options[0]=null;
city=1}
}
Да не.
Все устраивает.
Единственное - как скрыть(
echo "obj.options[obj.options.length] = new Option('Выберите город','');\n";) при выборе города.
И как скрыть третий селект если филиалов в городе нет?
Единственное - как скрыть
А я и предлагаю
А скрыть третий селект - может быть, добавить одну строчку в функцию?
Только зачем изначально включать в список город, где ничего нет?Только зачем изначально включать в список город, где ничего нет?
Тут такая картина.
Городов около 1500
В каждом из них есть по 3-8 фирм.
Базы по этим фирмам не существует.
Допустим директор одной из фирм, которая находится в Благовещенске захотел добавить событие. Мол вот проводим мероприятие. Он все заполняет и выбирает город.
С этого момента, если в сл. раз он захочет добавить мероприятие, и кликнув по Благовещенску уже будет его фирма в третьем селекте.
С JS не сильно, поэтому интуитивно все вставил. city = 0; походу точно неправильно.
Первый селект
Второй селект
</select>
Это убрал
Это сделал
var city;
if(city==0){
sel.options[0]=null;
city=1}
}
Работает так http://blogcode.ru/2.php
Выбираю область, Москва высвечивается по умолчанию, третий селект не хочет появляться.