0

我是 JavaScript 的初学者,感谢您对我的问题的帮助。

我需要有两个下拉菜单,每个下拉菜单都有 URL 值,当被选中时,它们会附加在一起并在点击提交按钮后重定向到选定的 URL。

它类似于类似文章中的实时示例:http: //www.jsfiddle.net/Yxw7k/13

如果第一个下拉菜单中第二个选项的值是:/a/something1,第二个下拉菜单中第三个选项的值是/3/index.html,点击提交后你会被重定向到www.somesite.com/a/something1/3/index.html 我希望在不使用的情况下实现这个的jQuery。我怎样才能使用常规 JS 来实现这一点?

4

2 回答 2

0

使用 jquery 更容易选择值,您可以创建一个检测所选值的函数,然后在用户按下提交按钮时更新重定向链接。因此,您需要将该功能添加到按钮的 onclick 事件中。

于 2012-11-02T18:21:08.470 回答
0

我建议如下:

function makePath(directory, file, domain) {
    if (!directory || !file) {
        return false;
    }
    else {
        directory = directory.nodeType == 1 ? directory.value : document.getElementById(directory).value;
        file = file.nodeType == 1 ? file.value : document.getElementById(file).value;
        return newURL = [domain || 'http://' + location.hostname, directory, file].join('/');
    }
}

document.getElementById('fileName').onblur = function(){
    // using console.log() in the demo
    document.location = makePath('directoryPath', this, 'http://example.com');
}

JS 小提琴演示

以上内容与以下 HTML 一起使用:

<select id="directoryPath">
    <option>directoryA</option>
    <option>directoryB</option>
    <option>directoryC</option>
</select>


<select id="fileName">
    <option>file1.html</option>
    <option>file2.html</option>
    <option>file3.html</option>
</select>
于 2012-11-02T18:15:25.423 回答