当涉及到javascript时,我有点犹豫不决。我有一个谷歌地图简单脚本,用于路由从A到B的路线。除了我想将模式(驾驶,步行......)从当前下拉选择器更改为单选按钮之外,一切正常。
我在网上和stackoverflow上搜索过,但目前没有为此找到有效的解决方案。
我的HTML:
<select id="mode">
<option selected="selected" value="DRIVING">Car</option>
<option value="WALKING">Walk</option>
<option value="TRANSIT">Public transport</option>
<option value="BICYCLING">Bike</option>
</select>
和脚本:
function calcRoute() {
var selectedMode = document.getElementById('mode').value;
var start = document.getElementById("routeStart").value;
var end = document.getElementById("routeEnd").value;
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode[selectedMode]
};
是否可以将选择(下拉列表)更改为上述代码中的单选按钮,或者我是否应该发布其他内容?
P.S。 我也尝试了this solution,但是当我提交计算路线时,它只是将我重定向到空白子页/模式?
谢谢:)
答案 0 :(得分:1)
我希望您在谈论Radio Buttons而不是Checkbox,因为可以选择多个复选框,这些复选框无法按预期工作。单选按钮分组具有相同的名称和不同的ID,其中一个将checked属性设置为true,因此循环遍历它们直到找到它。
创建一个新功能以查找已选中然后替换的单选按钮 var selectedMode = document.getElementById('mode')。value;使用下面给出的代码:
function getCheckedRadio(radio_group) {
for (var i = 0; i < radio_group.length; i++) {
var button = radio_group[i];
if (button.checked) {
return button;
}
}
return undefined;
}
var selectedMode = getCheckedRadio(document.forms.frmId.elements.groupName).value;