【问题标题】:Not able to display value in an hidden field using javascript?无法使用 javascript 在隐藏字段中显示值?
【发布时间】:2018-12-07 00:48:45
【问题描述】:
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.value=c;这一行?我看不到您如何在该函数中引用 b 变量

标签: javascript php jquery asp.net google-maps-api-3


【解决方案1】:

这是因为 b 在函数 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;
          }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多