javascript - 无法使用 javascript 在隐藏字段中显示值?
问题描述
function show(a,b) {
var origin = document.getElementById('Subadd').value;
var destination = a.value;
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, calcD);
}
function calcD(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
c= results[j].distance.text;
b.value=c;
}
}
}
}
这里 a 和 b 是两个文本字段 id。从文本字段 1 onchange 开始,函数 show() 将起作用,并在 CalcD() 函数中提醒 c 的值。但是我不能将 c 的值传递到 id b 的文本字段中。
解决方案
这是因为 b 在 function 中未定义CalcD
。您必须将其传递给函数或使用某些方法直接调用它,例如document.getElementById
. 那么你的代码必须是这样的:
function show(a,b) {
var origin = document.getElementById('Subadd').value;
var destination = a.value;
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, calcD);
}
function calcD(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
c= results[j].distance.text;
b = document.getElementById('id of b input');
b.value=c;
}
}
}
}
推荐阅读
- google-sheets - 谷歌表格将文本分成多列
- python - 为什么 Cx_Freeze 会加载这么多库
- r - 包括具有不同观测年数的数据框的趋势
- twitter-bootstrap - 带有所选项目的输入组以填充 Bootstrap 4.5.3 中的只读字段
- javascript - JavaScript:如何在对象数组中动态更改键位置?
- python - 登录页面问题(烧瓶,python)
- logstash - logstash-filter-useragent 插件将新 Edge 识别为 Chrome
- ios - 如何在 iOS 14 中更改 TabBar 位置
- docker - Nginx+Tomcat+Docker 组成 SSL
- java - 在 Eclipse 中使用 Gradle 在构建路径中使用其他项目