не срабатывает часть кода

149
14 декабря 2019, 07:00

есть скрипт:

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAgD5jrmV7TZa1AWIKaRTzrjluLSRVph5E&libraries=places&callback=initMap"></script>
$(function() {
        $('#typeCategoryBlock').on('change', '#selecttypeCategory', function () {
        var $this = $(this),
            typeCategory_id = this.value;
        if(typeCategory_id == '0') {
            $('#fieldsAdvert').remove();
            return false;
        }
        $.ajax({
            url: 'index.php?route=ajax/getFielsCategoryList',
            data: {
                id_cat: $('#categoryIdInput').val(),
                lang: <?=$_SESSION['lang_id']?>
            },
            type: 'POST',
            success: function(data) {
                $('#fieldsAdvert').remove();
                if (data != '') {
                    var $fieldsAdvert = $('<div id="fieldsAdvert"></div>');
                    $.map(data, function(v) {
                        switch (v.type) {
                            case 'text':
                                $('<input/>', {
                                    id:     v.id_style,
                                    class:  v.class_style,
                                    data_id: v.id,
                                    type:   v.type,
                                    name:   v.name,
                                    value:  v.field_value,
                                    placeholder:    v.placeholder
                                }).appendTo($fieldsAdvert);
var autocomplete,  marker, infowindow, map;
function initMap() {
    var inputs = document.querySelector('#google_map');
    autocomplete = new google.maps.places.Autocomplete(inputs);
    google.maps.event.addListener(autocomplete,'place_changed',function() {
        var place = autocomplete.getPlace();
        if(!place.geometry) {
            alert('Error');
        }
        var city = '';
        var region = '';
        var country = '';
        var tmp = '';
        place.address_components.forEach(function(item) {
            tmp = item.long_name;
            if(item.types) {
                item.types.forEach(function(t) {
                    switch(t) {
                        case 'administrative_area_level_1' :
                        case 'administrative_area_level_2' :
                            region = tmp;
                        break;
                        case 'country' :
                            country = tmp;
                        break;
                        case 'postal_town' :
                        case 'locality' :
                            city = tmp;
                        break;
                    }
                });
            }
        });
        document.getElementById('city').value = city;
        document.getElementById('region').value = region;
        document.getElementById('country').value = country;
     });
}
                            break;
                            case 'textarea':
                            break;
                            case 'password':
                                $('<input/>', {
                                    id:     v.id_style,
                                    class:  v.class_style,
                                    type:   'password',
                                    name:   v.name,
                                    value:  v.field_value,
                                    placeholder:    v.placeholder
                                }).appendTo($fieldsAdvert);
                            break;
                            case 'select':
                                var myselect = $('<select/>', { id: v.id_style, name: v.name});
                                var items = v.field_value.split(', ');
                                //Наполняем список
                                $('<option/>', {
                                    val:  '0',
                                    text: v.placeholder
                                }).appendTo(myselect);
                                $.each(items,function(index, svalue) {
                                    index++;
                                    $('<option/>', {
                                        val:  index+'_'+svalue,
                                        text: svalue
                                    }).appendTo(myselect);
                                });
                                $fieldsAdvert.append(myselect);
                            break;
                            case 'time':
                            break;
                            case 'date':
                            break;
                            case 'dateTime':
                            break;
                            case 'checkBox':
                                var mycheckBoxdiv = $('<div/>', {
                                    id:     'advertCheckBox'
                                }).appendTo($fieldsAdvert);
                                var items = v.field_value.split(', ');
                                $.each(items, function(i,item) {
                                    i++;
                                    $('<label/>').append(
                                        $('<input/>', {
                                            type: 'checkbox',
                                            name: 'mycheckbox',
                                            val:    i+'_'+item
                                        })
                                    ).append(item).appendTo(myradiodiv);
                                });
                            break;
                            case 'radio':
                                var myradiodiv = $('<div/>', {
                                    id:     v.name
                                }).appendTo($fieldsAdvert);
                                var items = v.field_value.split(', ');
                                $.each(items, function(i,item) {
                                    i++;
                                    $('<label/>').append(
                                        $('<input/>', {
                                            type: v.type,
                                            name: v.name,
                                            val:    i+'_'+item
                                        })
                                    ).append(item).appendTo(myradiodiv);
                                });
                            break;
                            case 'hidden':
                            break;
                            default:
                                return 'Type of field not found';
                        }
                    });
                    $('#formElementsBlock').html($fieldsAdvert);
                }
            }
        });
    });
});

этот код генерирует успешно поля, но, мне нужно чтоб срабатывал и этот код:

var autocomplete,  marker, infowindow, map;
function initMap() {
    var inputs = document.querySelector('#google_map');
    autocomplete = new google.maps.places.Autocomplete(inputs);
    google.maps.event.addListener(autocomplete,'place_changed',function() {
        var place = autocomplete.getPlace();
        if(!place.geometry) {
            alert('Error');
        }
        var city = '';
        var region = '';
        var country = '';
        var tmp = '';
        place.address_components.forEach(function(item) {
            tmp = item.long_name;
            if(item.types) {
                item.types.forEach(function(t) {
                    switch(t) {
                        case 'administrative_area_level_1' :
                        case 'administrative_area_level_2' :
                            region = tmp;
                        break;
                        case 'country' :
                            country = tmp;
                        break;
                        case 'postal_town' :
                        case 'locality' :
                            city = tmp;
                        break;
                    }
                });
            }
        });
        document.getElementById('city').value = city;
        document.getElementById('region').value = region;
        document.getElementById('country').value = country;
     });
}

для автоопределения адреса (от гугл) но

Answer 1

В строке <script src="https://maps.googleapis.com/maps/api/js?... замените callback=initMap на onload=initMap

READ ALSO
Почему код так работает?

Почему код так работает?

я хочу чтобы выводил что то похожее: [[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0], [0,0,0,1,0], [0,0,0,0,1]]

149
Как работает оператор цикла for в JS?

Как работает оператор цикла for в JS?

Кто-то может, так скажем, "разжевать" его по пунктам?

119
Не могу сделать запрос к mysql, который посчитает количество записей

Не могу сделать запрос к mysql, который посчитает количество записей

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

114