javascript - 从下拉菜单中选择某个选项时如何触发某些内容?

标签 javascript jquery html drop-down-menu

我有一个下拉菜单。

更改时,我想重定向到某个网址。

我不知道该怎么做。

我尝试检查值是否==类 View

if( $('#dd').val() === "class-view" ){

    location.href = "www.site.com";
}

现在,它不断循环并刷新我的页面。

最佳答案

您的页面正在循环,因为每次加载页面时,所选值都是“class-view”,因为它是选择列表中的第一个选项。尝试使用 jquery 执行类似的操作。

$(document).ready(function(){
    $("#rn-dd").change(function(){
       var selectedVal = $(this).val(); // Value of the selected option
       // Redirect to your page accordingly
    });
});

您可以向每个选项添加一个 data-href 属性,以便在发生更改时可以重定向到该位置。因此您的 html 应如下所示

<select class="rn-dropdown" id="rn-dd">
    <option value="class-view" data-href="a.html">class view</option>
    <!-- Students Populate Here  -->
    <option id="s-00586" data-href="b.html" value="s-00586">Student S00586</option>
    <option id="s-00587" data-href="c.html" value="s-00587">Student S00587</option>
    <option id="s-00588" data-href="d.html" value="s-00588">Student S00588</option>
    <option id="s-00589" data-href="e.html" value="s-00589">Student S00589</option>
    <option id="s-00590" data-href="f.html" value="s-00590">Student S00590</option>
</select>

现在您可以获得所选选项的 href 数据属性值。所以完整的解决方案是这样的,

$(document).ready(function(){
    $("#rn-dd").change(function(){
       document.location.href = $(this).find(":selected").data("href");
    });
});

您可以从此处找到有关数据属性的更多信息 Jquery Data attribute

关于javascript - 从下拉菜单中选择某个选项时如何触发某些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31539370/

相关文章:

javascript - jquery 将输入的值返回给 var

jquery - Colorbox 多次触发 onComplete

javascript - 将按钮的文本从 'Copy' 转换为 'Copied',几秒钟后又转换回 'Copy'

Jquery 动画文本与平滑的 Flash 动画

Java 解析器 HTML 使用纯字符串方法?

javascript - document.createEelement 无法显示 utf 8 字符

JavaScript Date对象在另一个时区,如何渲染办公时间?

javascript - 如何在不使用 $watch 的情况下在多个 Controller 上保持服务数据相同?

jquery - 使用 Bootstrap 3 弹出框将鼠标悬停在文本上时显示多个弹出框

javascript - 使用Jquery显示link_to,返回JSON数据