1

当谈到 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]
};

是否可以从上面的代码中将选择(下拉菜单)更改为单选按钮,或者我还应该发布其他内容吗?

ps 我也尝试过这个解决方案,但是当我提交计算路由时,它只是将我重定向到一个空白的子页面/模式?

谢谢 :)

4

1 回答 1

1

我希望您谈论的是单选按钮而不是复选框,因为可以选择多个复选框,这将无法按预期工作。单选按钮以具有相同名称和不同 ID 的组的形式出现,其中一个将选中的属性设置为 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;
于 2013-01-21T08:07:31.270 回答