Как в режиме авто выполнять подгрузку selecta?

258
08 августа 2017, 17:05

Для начала объясню.

есть 2 select option

при выборе в одном селекте выпадают данные в другом

Все берется из бд

допустим странны Бразилия->г.Рио

также и другая страна Япония->г.Токио

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

вместо первого селекта просто держать ссылки но ссылки уже держать открытими. при условии что у этих селектов есть общий class"contry" он объеденяит их.

тоесть посылает запрос селекту (при открытии страницы) и сразу же подгружается во второй селект так как это работает по выбору первого селекта. есть ли что то подобное?

 <div class="form-group">
                            <label>Район</label>
                            <select data-container=".js__q" class="js__contry form-control ">
                                <option value="0">Выберите страну</option>
                                {foreach from=$contry item=contrys}
                                <option selected value="1"onclick="this.select.option();">{$contrys['title_ru']}</option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="form-group">
                            <label>Район</label>
                            <select class="form-control js__q" >
                                <option value="0">Выберите район</option>
                                сюда подгружается после выбора в первом
                            </select>
                        </div>

js

 $('.js__contry').change(function() {
            var $this = $(this);
            var $container = $this.data('container');
        $.ajax({
        url: '/'+lang+'/ajax/object/get_contry',
        type:'post',
        dataType:'json',
        data:{
            id:$this.val()
        },
        success:function(r) {
            $($container).html(r.html);
        }
    });
});

php

if ($this->url[3] == 'get_contry') {
        $city_id = (int)$_REQUEST['id'];
        $html = '<option value="0">Выберите область</option>';
        $areas = $this->locations->get_regions_by_contry_id($city_id);

        foreach ($areas as $area) {
            $html .= '<option value="'.$area['id'].'">'.$area['title_ru'].'</option>';
        }

        die(json_encode(array(
            'status'=>1,
            'html'=>$html
        )));
    }
READ ALSO
Вывод ошибок Yii2 во всплывающих дивах

Вывод ошибок Yii2 во всплывающих дивах

Есть задача, сделать вывод ошибок во всплывающих дивах

274
Как в запросе обрезать данные при получении сравнении?

Как в запросе обрезать данные при получении сравнении?

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

267
SQL Обратная комбинация distinct

SQL Обратная комбинация distinct

Как сделать так что бы при использовании distinct или может другим способом пары типа 10\20 и 20\10 считались одинаковыми? И не дублировались в запросе?

328
Что лучше для SEO сайта (node.js vs php)? [требует правки]

Что лучше для SEO сайта (node.js vs php)? [требует правки]

Я хочу создать сайт который максимально дружелюбен с SEOОднако, я знаю node

227