作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法使用 jquery .val() 获得自动完成输入,因为 .val() 只返回我自己输入的输入值,而不返回自动完成添加的值。
如果对其他字段进行更改,jquery .val() 仅返回完整值。
我使用谷歌地图自动完成地址,然后将该地址传递给谷歌地图 API 来获取两个地址之间的距离。问题是这个“start = $('#id_rent_delivery_address').val()”只能获取手动输入的地址部分,但不能自动完成。
也许你有什么想法可以解决这个问题?
我的代码:
<script>
$(document).ready(function() {
initAutocomplete();
});
var autocomplete, autocomplete2;
function initAutocomplete() {
// Create the autocomplete object, restricting the search to geographical
// location types.
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(document.getElementById('id_rent_withdraw_address')),
{types: ['geocode']});
autocomplete2 = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(document.getElementById('id_rent_delivery_address')),
{types: ['geocode']});
// When the user selects an address from the dropdown, populate the address
// fields in the form.
}
</script>
<script type="text/javascript">
$(document).on('change', '#rent-confirm-form', function() {
var start = $('#id_rent_delivery_address').val();
var end = $('#id_rent_withdraw_address').val();
GetRoute(start, end);
});
function GetRoute(start, end) {
//*********DISTANCE AND DURATION**********************//
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [start],
destinations: [end],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
var distance = response.rows[0].elements[0].distance.text;
var duration = response.rows[0].elements[0].duration.text;
console.log(distance);
console.log(duration);
console.log(start);
console.log(end);
} else {
console.log("Unable to find the distance via road.");
}
});
}
</script>
最佳答案
我自己解决了。只是用jquery触发方法模拟表单变化。
$( "#anyInput" ).trigger("change");
关于javascript - 如何使用 jquery .val() 从自动完成输入中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708191/
我是一名优秀的程序员,十分优秀!