更新了两个文本输入值,其中一个仍为空

时间:2017-08-04 20:27:17

标签: jquery html5 geolocation

在我看来,我有两个文本输入字段。每个嵌入其段落内。

<p><input id="filterNearbyLatitude" name="filterNearbyLatitude" type="text" class="form-control numeric" placeholder="Latitude"/></p>
<p><input id="filterNearbyLongitude" name="filterNearbyLongitude" type="text" class="form-control numeric" placeholder="Longitude"/></p>

当我试图确定用户的坐标时,如果用户同意,则收集坐标:

$(function () {
    navigator.geolocation.getCurrentPosition(showPosition, positionError);

    function showPosition(position) {
        var coordinates = position.coords;
        derivedLatitude = coordinates.latitude;
        derivedLongitude = coordinates.longitude;
        $('#filterNearbyLatitude').val(derivedLatitude);
        $('#filterNearbyLongtitude').val(derivedLongitude);
        console.log('Derived Coordinates: Lat:' + derivedLatitude + ' Lng:' + derivedLongitude);
    }

    function positionError(position) {
        derivedLatitude = 0;
        derivedLongitude = 0;
        $('#filterNearbyLatitude').val();
        $('#filterNearbyLongtitude').val();
        console.log('Derived Coordinates Failed');
    }
});

所有内容似乎都能正常工作,系统会提示用户确定其位置,设置变量derivedLatitude和derivedLongitude,并写入控制台消息。

Derived Coordinates: Lat:39.747606140632754 Lng:-84.1504838931303

问题是当这两个变量(derivedLatitude和derivedLongitude)被设置为两个文本输入中的值时。纬度设置,但经度始终为空。

我无法找出为什么只有一个字段会更新。非常感谢第二双眼睛。

2 个答案:

答案 0 :(得分:0)

@Taplar能够发现几小时内可以忽略的拼写错误。

答案 1 :(得分:0)

您使用的是错误的ID。请更新到这行代码。

$('#filterNearbyLongitude').val(derivedLongitude);

$('#filterNearbyLongitude').val();