在选项组合框中建立链接

时间:2013-03-04 03:05:25

标签: php javascript option

我正在尝试在组合框中建立链接,但我收到了错误。

这是我的JS功能:

<script type="text/javascript">
function handleSelect(elm)
{
    window.location = elm.value+".php";
}
</script>

这是组合框的形式

<select name="Pilihan">
    <option value="" selected href="view1.php">- Item -</option>
    <option value="" selected href="view2.php">- Budg -</option>
    <option value="" selected href="view3.php">- Dept -</option>
    <option value="" selected href=>- Silahkan Pilih -</option>
</select>

2 个答案:

答案 0 :(得分:1)

看起来你可能会错过这个:

<select name="Pilihan" onchange="handleSelect(this)">

或类似的东西。

此外,您可能不希望将所有选项默认为selected

<强>更新

我现在看到了问题,您正在尝试使用option值,但您似乎想要实际使用选项标记的href。您可以尝试:

<option value="view1.php">- Item -</option>
<option value="view2.php">- Budg -</option>

然后建议的事件绑定方法之一。

答案 1 :(得分:1)

href不是选项标记的有效属性,您无法在选择下拉列表中真正放置链接。但是,您可以使用一些javascript魔法来执行此操作,如下所示:

<select name="Pilihan" onchange="document.location = this.options[this.selectedIndex].value;">
   <option value="view1.php">- Item -</option>
   <option value="view2.php">- Budg -</option>
   <option value="view3.php">- Dept -</option>
</select>

或者使用事件处理程序:

<select name="Pilihan">
   <option value="view1.php">- Item -</option>
   <option value="view2.php">- Budg -</option>
   <option value="view3.php">- Dept -</option>
</select>

<script type="text/javascript">
    document.getElementsByName('Pilihan')[0].onchange = function() {
        document.location.href = this.options[this.selectedIndex].value;
    }
</script>