我有两个select
这样的盒子:
<select id="one">
<option value="default">Select File</option>
<option value="path/to/file1">File One</option>
<option value="path/to/file2">File Two</option>
<option value="path/to/file3">File Three</option>
</select>
<select id="two">
<option value="default">Select File</option>
<option value="path/to/file4">File Four</option>
<option value="path/to/file5">File Five</option>
<option value="path/to/file6">File Six</option>
</select>
<p class="button_image">
<a onclick="download(document.getElementById("one").value)"></a>
</p>
这是我的download
功能:
function download(file) {
if (file == 'default') return;
window.location = 'http://www.mysite.com/download/' + file;
}
这适用于一个select
盒子,但我似乎无法弄清楚如何使用相同的按钮图像。哦,是的,p.class=button_image
有背景图像,它是一个带有悬停效果的按钮。
我希望这些select
框分开的原因是因为它们每个都代表一组文件,例如,32 位与 64 位。所以它们不能结合起来,因为它不会随着页面设计而流动。
我已经使用 PHP 在 PHP 中尝试了一些 if/else 块,getElementById
但我遇到了困难。这是我尝试过的,它似乎只能部分工作:
<?php
if ('document.getElementById(\"one\")' == 'one') {
echo "<a onclick='download(document.getElementById(\"one\").value)'></a>";
}
else if ('document.getElementById(\"two\")' == 'two') {
echo "<a onclick='download(document.getElementById(\"one\").value)'></a>";
}
?>
我应该注意,在这种情况下我不一定需要使用 PHP 来解决这个问题。这只是我尝试的一个选项,因为我使用 PHP 进行服务器端编程。我可以对任意数量的选项感到满意,只要它们有效。
谢谢。
** 编辑 **
这种设计可能有缺陷。但目的是要么下载框一中的文件,要么下载框二中的文件。如果选择了一个,那么另一个应该休息,default
反之亦然。这就是我现在正在做的事情。
** 编辑 **
我最终得到了 Dawson Loudon 的部分答案,并根据 Barmar 的评论创建了另一个函数,如下所示:
// resets other select box when selected
function reset_index(id) {
document.getElementById(id).selectedIndex = 'default';
}