我正在尝试使用地理位置查询的结果填充两个字段。这是我写的第一批javascripts之一。
以下是我当前的代码:http://jsfiddle.net/spadez/aGupn/2/
$(function (getLocation) {
var Geo = {};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
}
//Get the latitude and the longitude;
function success(position) {
Geo.lat = position.coords.latitude;
Geo.lng = position.coords.longitude;
populateHeader(Geo.lat, Geo.lng);
}
function error() {
console.log("Geocoder failed");
}
function populateHeader(lat, lng) {
$('#lat').html(lat);
$('#lng').html(lng);
}
});
我哪里出错?
答案 0 :(得分:2)
这是因为您使用的是input.html(...)
而不是input.val(...)
。 input.html(...)
设置元素的innerHTML
属性。但是,这不是你如何设置input元素的值。您想设置value
属性/属性,因此请使用input.val(...)
。
$('#lat').val(lat);
$('#lng').val(lng);