我有3个下拉框和一个go按钮。我需要转到一个基于3个URL框中选择的内容构建的URL - 这是我的代码示例。
<form>
<select class="dropdown" id="dd1" style="margin-right:10px;width:130px">
<option>http://</option>
<option>ftp://</option>
<option>https://</option>
</select>
<select class="dropdown" id="dd2" style="margin-right:10px;width:130px">
<option>google</option>
<option>yahoo</option>
<option>bbc</option>
<option>hotmail</option>
</select>
<select class="dropdown" id="dd3" style="width:130px;margin-right:20px">
<option>.com</option>
<option>.net</option>
<option>.co.uk</option>
</select>
<input type="submit" name="button" id="button" value="Go!">
</form>
因此,例如,如果用户选择http:// + yahoo + .net - 然后点击“开始”按钮,它们将被发送到http://yahoo.net或者如果用户选择https // + hotmail + .com然后将它们发送到https://hotmail.com
是否有一些jQuery或Javascript代码会检测下拉列表中的选项,然后构建正确的URL并在按下“Go”按钮时转到它?
由于 扎克
答案 0 :(得分:2)
这样的东西?
window.location.href = $('#Dropwdown_1').val()+$('#Dropwdown_2').val()+$('#Dropwdown_3').val();
答案 1 :(得分:1)
获取下拉列表的值
var searcher = document.getElementById("ddlSearch");
var searchDomain =searcher.options[searcher.selectedIndex].text;
其他两个
相同然后使用+
连接字符串var url = searchProtocol + searchDomain + searchTopLevel;
转到页面:
location.href= url;
答案 2 :(得分:1)
@zach
这应该很简单。
答案 3 :(得分:0)
var d1 = $("#dd1").find(":selected").attr("value");
var d2 = $("#dd2").find(":selected").attr("value");
var d3 = $("#dd3").find(":selected").attr("value");
location.href = d1+d2+d3+"";
答案 4 :(得分:0)
虽然其他答案有效但我更喜欢以这种方式处理它(使用jQuery):
$("form").on("submit", function(e) {
// Define our global url array
var url = [];
// Prevent the form from processing
e.preventDefault();
// Loop through the drop down fields, storing the value of each into our "url" array
$(this).find(".dropdown").each(function() {
url.push($(this).val());
});
// Change the page location
window.location = url.join("");
});