Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ajax (зависимый select своими руками) (https://javascript.ru/forum/dom-window/75346-ajax-zavisimyjj-select-svoimi-rukami.html)

artem55555p 26.09.2018 11:57

Ajax (зависимый select своими руками)
 
Здравствуйте.
Вот https://c2n.me/3WULGqo есть такие select. Суть: выбираем область, потом подгружается другой select с городами из этой области, потом, после выбора города, длжны подгружаться районы. Вот мой код:
$(document).on('change', '.oblast',function(e){
        e.preventDefault();
        var id = $(this).val();
        $.ajax({
            url: '/geo/oblast',
            data: {id: id},
            type: 'GET',
            success:function(res){
                $('.ct').html(res);
                City();
            },
            error: function(){
                alert('Error!');
            }
        });

    });

    function City(){
        $('.city').change(function () {
            var id = $(this).val();
            $.ajax({
                url: '/geo/city',
                data: {id: id},
                type: 'GET',
                success:function(res){
                    $('.rn').html(res);
                },
                error: function(){
                    alert('Error!');
                }
            });
        });
    }


сейчас все работает, НО:
Есть мы выбрали район, а потом вдруг захотели вообще поменять областЬ, то происходит это: https://c2n.me/3WULXIj город убирается (средствами php? если выборка 0, то не отображать ничего), но район остается. как мне сделать, что если меняется потом Область, все input которые зависят от области, тоже скрывались?

рони 26.09.2018 12:36

artem55555p,
что мешает при выборе области обнулять районы и города
добавить в строку 3
$('.rn').html("");$('.ct').html("");

artem55555p 26.09.2018 12:41

Спасибо)) что-то я не додумался до этого))

Nexus 26.09.2018 13:17

Цитата:

Сообщение от рони
$('.rn').html("");$('.ct').html("");

А почему бы не через запятую?
$('.rn,.ct').html('');

рони 26.09.2018 13:18

Nexus,
ок

laimas 26.09.2018 13:46

artem55555p,
хватило бы и одного обработчика для запросов хоть вплоть до комнаты в квартире, для этого достаточно изменять параметры запроса в обработчике и знать инициализатора запроса, что не сложно.

artem55555p 27.09.2018 16:36

Цитата:

Сообщение от laimas (Сообщение 495449)
artem55555p,
хватило бы и одного обработчика для запросов хоть вплоть до комнаты в квартире, для этого достаточно изменять параметры запроса в обработчике и знать инициализатора запроса, что не сложно.

пример можете показать?


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