我有三个选择框:
<select id="one">
<option value="default">Select Product</option>
<option value="value-a1">string1</option>
<option value="value-a2">string2</option>
<option value="value-a3">string3</option>
</select>
<select id="two">
<option value="default">Select Version</option>
<option value="value-b4">string4</option>
<option value="value-b5">string5</option>
<option value="value-b6">string6</option>
</select>
<select id="three">
<option value="default">Select Architecture</option>
<option value="value-c6">string7</option>
<option value="value-c7">string8</option>
<option value="value-c8">string9</option>
</select>
根据用户为这三个框选择的内容,我想下载一个文件,例如:
mysite.com/download/value-a1_value-b2_value-c3
基本上,该文件是安装程序,可以是特定产品,特定版本和体系结构(以EXE为例;还将具有DMG和ZIP):
mysite.com/download/product-a_version-b_arch-64.exe
我知道我的方法可能不是最好的,所以我愿意提出建议,但是如果我可以使用这种方法,那将是很好的。
对于JavaScript,我在想这样的事情:
function download_file(version_id, os_id, arch_id) {
if (product_id == 'default' && version_id == 'default' &&
arch_id == 'default') {
return;
}
else if (product_id != 'default') {
window.location = 'mysite.com/download/Install_' +
product_id + '_' + version_id + '_' + arch_id + '.exe';
}
}
我想我的主要问题是如何选择在三个选择框中选择的选择值。我试图将三个选择框的结果粘合在一起,并从中确定一条路径。
注意
实际上,选择框比实际编写的要多,但是原理是相同的。使用下面的答案,我能够使文件正确无误。感谢您的所有帮助!
最佳答案
$(function() {
var downloadButton = $( selector-for-your-button );
$(downloadButton).click(function() {
download_file( $('#one').val(), $('#two').val(),
$('#three').val());
});
});
function download_file(product_id, version_id, arch_id) {
// if any of them is default, cancel (use or ||)
if (product_id == 'default' || version_id == 'default' ||
arch_id == 'default') {
alert("choose stuff!");
return;
}
else if (product_id != 'default') {
//window.location = 'mysite.com/download/Install_' +
// product_id + '_' + version_id + '_' + arch_id + '.exe';
console.log(product_id + '_' + version_id + '_' + arch_id + '.exe');
}
}