【发布时间】:2020-08-13 02:10:09
【问题描述】:
我正在使用基于一些 Json 数据的计算器,当我输入经度和纬度时,我得到了与该经度和纬度相关联的网格代码。问题是当我从输入中获取值时,结果返回为 0 表示输入的值未定义
这就是我的代码的样子
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="" id="my-form">
<div class="form-group">
<label for="">Enter Lat</label>
<input type="text" id="lat" step="any">
<label for="">Enter Long</label>
<input type="textr" id="long" step="any">
</div>
<input type="button" id="Btn" value="Calculate" >
<h2 id="result">result</h2>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
var desiredLat = document.getElementById("lat").value,
desiredLong = document.getElementById("long").value;
const
myData = {
"datagrid": [
{ "GRIDCODE": 1735,"lat": 35.91511132, "long": -5.401484264 },
{ "GRIDCODE": 1805, "lat": 35.90677815, "long": -5.468149593 },
{ "GRIDCODE": 1808, "lat": 35.90677815, "long":-5.459816427 },
{ "GRIDCODE": 1784, "lat": 35.89844499, "long":-5.476482759 }
]
};
gridcode = lookupGridcodeByLatAndLong(myData.datagrid),
headerHTML = gridcode ;
console.log(headerHTML);
function lookupGridcodeByLatAndLong(sourceArray){
let gridcode = 0;
for (let currentObject of sourceArray){
if (currentObject.lat === desiredLat && currentObject.long === desiredLong){
gridcode = currentObject.GRIDCODE;
}
}
return gridcode;
}
$("#Btn" ).click(function() {
$("#result").html(gridcode);
});
</script>
</body>
</html>
【问题讨论】:
-
您是否在控制台中遇到任何错误?您是否能够找到主要问题可能出在哪一行?
-
我得到了答案,兄弟很感激,问题是我第一次调用lookupGridcodeByLatAndLong函数并传递了lat和lang值,这两个值都将返回未定义,因为我还没有输入它们。跨度>
标签: javascript jquery arrays input