Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (4)
  • Как сделать вывод номеров домов по введённой улице?

    @daneelpet Автор вопроса
    PHP, Python, JS
    Немного подучил Js и Jq, а также несколько раз прочитал документацию. У меня всё получилось. Спасибо всем за помощь!
    Мой код с комментариями:
    $(function () {
        var $city = $('#cityadress'), //город
            $street = $('#streeta'), //улица
            $building = $('#hausea'); //задние
    
        var $tooltip = $('.tooltip');
    
        $.kladr.setDefault({
                parentInput: '#add_from', //id формы, где находятся эти поля для ввода адресов
                verify: true,
                select: function (obj) {
                    setLabel($(this), obj.type);
                    $tooltip.hide();
                },
                check: function (obj) {
                    var $input = $(this);
    
                    if (obj) {
                        setLabel($input, obj.type);
                        $tooltip.hide();
                    }
                    else {
                        showError($input, 'Введено неверно');
                    }
                },
                checkBefore: function () {
                    var $input = $(this);
    
                    if (!$.trim($input.val())) {
                        $tooltip.hide();
                        return false;
                    }
                }
            });
    //Для каждого просто подключаем КЛАДР с параметрами
            $city.kladr({
               parentType: $.kladr.type.district,
               type: $.kladr.type.city,
               verify: true
            });
            $street.kladr({
               parentType: $.kladr.type.city,
               type: $.kladr.type.street,
               verify: true
            });
            $building.kladr({
               parentType: $.kladr.type.street,
               type: $.kladr.type.building,
               verify: true
            });
            
            
            
    
            // Отключаем проверку введённых данных для строений
            $building.kladr('verify', false);
    
            function setLabel($input, text) {
                text = text.charAt(0).toUpperCase() + text.substr(1).toLowerCase();
                $input.parent().find('label').text(text);
            }
    
            function showError($input, message) {
                $tooltip.find('span').text(message);
    
                var inputOffset = $input.offset(),
                    inputWidth = $input.outerWidth(),
                    inputHeight = $input.outerHeight();
    
                var tooltipHeight = $tooltip.outerHeight();
    
                $tooltip.css({
                    left: (inputOffset.left + inputWidth + 10) + 'px',
                    top: (inputOffset.top + (inputHeight - tooltipHeight) / 2 - 1) + 'px'
                });
    
                $tooltip.show();
            }
        });
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (10)