2个下拉菜单打开网址

时间:2014-10-13 02:51:35

标签: javascript jquery html

我有2个单独的下拉菜单。 我想使用JavaScript在下拉列表选择时更改URL。 它几乎可以正常工作,因为我传递了一个值,但我仍然在URL窗口中得到一个“未定义”。 代码如下:

JavaScript的:

 function callDDfunction(val) {
       alert("The new value is: " + val);
        if (this.selectedIndex!==0) {
            window.location.href = this.value;
        }

       };

HTML:

<select onchange="callDDfunction(this.value)">
                      <option value="">Site Navigation:</option> 
                      <option value="index.php">Home</option>
                      <option value="register.php">Sign Up</option>
</select> 

<select onchange="callDDfunction(this.value)">
                      <option value="">Seasons Archive:</option> 
                      <option value="/seasons/nba/2012-13/">Season 1: NBA 2012-2013</option>
                      <option value="/seasons/nba/2013-14/">Season 2: NBA 2013-2014</option>
</select>

2 个答案:

答案 0 :(得分:3)

在您的代码this中引用没有window属性的value对象。您将值传递给函数,val参数是当前值,只需使用它:

window.location.href = val;

如果您想要访问select元素以检查selectedIndex属性,请传递元素本身而不是它的值:

<select onchange="callDDfunction(this)">

然后你的函数的主体将是:

function callDDfunction(elem) {
    alert("The new value is: " + elem.value);
    if (elem.selectedIndex !== 0) {
        window.location.href = elem.value;
    }
};

答案 1 :(得分:0)

使用this.val()代替this.value