jQuery选择器更改事件:当获取所选选项时

3
我试图在用户选择一个选项时重定向到特定的URL。
以下是我正在使用的代码。
<select class="input-block-level" id="maqui" name="maqui">
                <option value="tela">Maquilero</option>
                <option value="textil">textil</option>
                <option value="tipo">tipo</option>
                    </select>

并且脚本
 $('#maqui').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var valueSelected = this.value;
    top.location.href="/ver/"+valueSelected;
});

我想重定向到 /ver/valueSelected。

1
代码看起来没问题,但是出了什么问题? - Girish
代码不会重定向 http://jsfiddle.net/3ppar8ms/2/ - jtaco263
请使用window.location.href代替top.location.href,如果您正在使用iframe,则使用parent.location.href,这样应该可以正常工作。 - Girish
谢谢,我解决了问题。我忘记了非常重要的一点:$(document).ready(function(){ }); - jtaco263
1个回答

2

HTML

<select class="input-block-level" id="maqui" name="maqui" autocomplete="off">
                <option selected disabled>Please select an option</option>
                <option value="tela">Maquilero</option>
                <option value="textil">textil</option>
                <option value="tipo">tipo</option>
</select>

JS

$('#maqui').on('change', function (e) {
    window.location.href = "/ver/"+this.options[this.selectedIndex].value;
});

使用此方法时,有一些谬论需要您注意:

  1. 事件仅会触发onChange。因此,在选择菜单中的默认禁用选项。

  2. 如果浏览器记住了用户的选择,则用户如果想选择他以前的选择,不会触发onChange事件。 因此需要添加autocomplete="off"


谢谢,我解决了问题。我忘记了非常重要的一点:$(document).ready(function(){ }); - jtaco263

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接