Javascript Equating Variable .value

时间:2012-11-04 22:24:43

标签: javascript jquery

这是我正在使用的代码:http://jsfiddle.net/9B84H/26/

function autosuggest() {
var input = document.getElementById('location');
    var options = {types: [],};
    var autocomplete = new google.maps.places.Autocomplete(input, options);
}

function getLatLng() {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById('location').value;
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            $('#lat').val(results[0].geometry.location.lat());
            $('#lng').val(results[0].geometry.location.lng());
        } else {
            alert("Geocode failed: " + status);
        }
    });
}

有两个变量几乎相同:

var address = document.getElementById('location').value;
var input = document.getElementById('location');

有没有机会将其合并为一行作为全局变量?

1 个答案:

答案 0 :(得分:0)

你可以使用你的匿名自调用函数或者只是在jQuery中使用dom-ready方法来包装你的代码(如果你不把你的JS代码放在页面的底部,dom-ready似乎更好一点)

我做了一个示例,删除了输入中的onclick,onfocus属性并将它们放在javascript部分中:http://jsfiddle.net/9B84H/27/

$(function() {
    var location = document.getElementById('location');
    var getLatLng = function() {
        var geocoder = new google.maps.Geocoder();
        var address = location.value;
        geocoder.geocode({
            'address': address
        }, function (results, status) {
            if (status === google.maps.GeocoderStatus.OK) {
                $('#lat').val(results[0].geometry.location.lat());
                $('#lng').val(results[0].geometry.location.lng());
                alert("Geocode success");
            } else {
                alert("Geocode failed: " + status);
            }
        });
    };
    var autosuggest = function() {
        var options = {types: []};
        var autocomplete = new google.maps.places.Autocomplete(location, options);
    };
    $("#location").on("focus", autosuggest);
    $(":button[name='Geocode']").on("click", getLatLng);
});

您现在有一个名为location的局部变量,它引用文档中的#location元素。