1 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
zero你得到值的原因是因?yàn)槟鉲ookupGridcodeByLatAndLong在第一次調(diào)用你的函數(shù)時(shí)傳遞了你的lat和lang值,這兩個(gè)值都將返回 undefined 因?yàn)槟氵€沒(méi)有輸入它們。
你必須用值填充它們,然后在你進(jìn)行計(jì)算之前點(diǎn)擊按鈕來(lái)獲取lat和值,實(shí)際上你不需要將你的對(duì)象值解析為參數(shù),因?yàn)槟銓⑺跏蓟癁槿謪?shù),所以你仍然可以在你的函數(shù)中使用它而不解析它。langGRIDCODE
<!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>
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 }
]
};
function lookupGridcodeByLatAndLong(lat, long){
let gridcode = 0;
var result = myData.datagrid.find(x => x.lat == lat && x.long == long)
if (result) {
gridcode = result.GRIDCODE;
}
return gridcode;
}
$("#Btn" ).click(function() {
var lat = document.getElementById("lat").value,
long = document.getElementById("long").value;
var result = lookupGridcodeByLatAndLong(lat, long)
$("#result").html(result);
});
</script>
</body>
</html>
添加回答
舉報(bào)