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

时间:2015-07-21 12:43:09

标签: javascript jquery html drop-down-menu

我有一个下拉菜单。

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

我不知道我该怎么做。

我已经尝试检查值== class-view

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

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

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

2 个答案:

答案 0 :(得分:1)

您的页面正在循环播放,因为您需要加载页面,所选的值为" 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

答案 1 :(得分:0)

onchange事件testMessage函数将被调用,将您的逻辑放在此函数中。

<script type="text/javascript">
    $("#rn-dd").change(function () {
        var selectedText = $(this).find("option:selected").text();
        var selectedValue = $(this).val();
        alert("Selected Text: " + selectedText + " Value: " + selectedValue);
        if(selectedText == "" && selectedValue == "") { // placed your here for different action on different selected options.
            // do something
        }
    });
</script>

编辑:

您应该阅读此JQuery - OnChange Event。会有所帮助。