jQuery呼叫内部功能



当我调用函数国家更改时,显示错误不能读取未定义的属性'几何学'我该如何解决此问题,请帮助我。并感谢您的最后答案和编辑。对不起,我的英语很弱。

$(function(){
        var autocomplete;
        var geocoder;
        var input = document.getElementById('cityzip');
        autocomplete = new google.maps.places.Autocomplete(input);
    function search(){
        var location = autocomplete.getPlace();
        geocoder = new google.maps.Geocoder();
        var lat = location['geometry']['location'].lat();
        var lng = location['geometry']['location'].lng();
        /*var data = {
            lng: lng,
            lat: lat
        }*/
        alert("search clicked");
        var pettype = [];
        var dogbreed = [];
        var catbreed = [];
        var color = [];
        var sex = [];
        $(".pettype:checked").each(function(){
            pettype.push($(this).val());
        })
        $(".dogbreed:checked").each(function(){
            dogbreed.push($(this).val());
        })
        $(".catbreed:checked").each(function(){
            catbreed.push($(this).val());
        })
        $(".color:checked").each(function(){
            color.push($(this).val());
        })
        $(".sex:checked").each(function(){
            sex.push($(this).val());
        })
            var data = {
                lng: lng,
                lat: lat,
                kmrange: $("#kmrange").val(),
                country: $("#country").val(),
                pettype: pettype,
                dogbreed: dogbreed,
                catbreed: catbreed,
                color: color,
                sex: sex,
            }
            console.log(data);
        }
        $("#location").click(function(){
            search();
        })
        $('#country').on('change', function() {
          search();
        })

您无法从$(function(({}(块外部调用搜索方法,因为范围在JavaScript中的工作方式。但是,您可以做这样的事情:

var myNamespace = {};
$(function() {
    myNamespace.search = function() {};
});

然后,只要已经执行$(function(function(({}(,您就可以从任何地方调用mynamespace.search((。

最新更新