javascript - 检查下拉列表中的值

标签 javascript jquery asp.net-mvc-3 drop-down-menu

我有一个由 ASP.NET MVC3 razor 语法生成的下拉列表。

<div id="list" style="display:none; float:left;">@Html.DropDownListFor(x => x.PromoType, Model.PromoTypes)</div>

我想说的是,“如果选择了下拉列表中的第二个值,则显示另一个下拉列表”

给定以下 javascript,我应该用什么来代替问号?我想避免使用硬编码字符串。

<script type="text/javascript">
    $(function () {
        $('#list select').change(function () {
            if ($("#list select").val() == ??????????) {
                $("#over").show();
                $("#product").hide();
            }
            else if ($("#list select").val() == ??????????) {
                $("#product").show();
                $("#over").hide();
            }
            else {
                $("#over").hide();
                $("#product").hide();
            }
        });
    });
</script>

编辑我最终在 if 语句中使用的代码如下:

$("#list select")[0].selectedIndex == 1

最佳答案

这里我已经完成了上述查询的完整解决方案。下面给出了演示链接:

演示 http://codebins.com/bin/4ldqp7f

HTML

<select id="mylist">
  <option value="default">
    --Select--
  </option>
  <option value="1">
    One
  </option>
  <option value="2">
    Two
  </option>
  <option value="3">
    Three
  </option>
  <option value="4">
    Four
  </option>
  <option value="5">
    Five
  </option>
</select>
<div id="list">
  <select>
    <option>
      Option1
    </option>
  </select>
  <select>
    <option>
      Option1
    </option>
    <option>
      Option2
    </option>
  </select>
  <select>
    <option>
      Option1
    </option>
    <option>
      Option2
    </option>
    <option>
      Option3
    </option>
  </select>
  <select>
    <option>
      Option1
    </option>
    <option>
      Option2
    </option>
    <option>
      Option3
    </option>
    <option>
      Option4
    </option>
  </select>
  <select>
    <option>
      Option1
    </option>
    <option>
      Option2
    </option>
    <option>
      Option3
    </option>
    <option>
      Option4
    </option>
    <option>
      Option5
    </option>
  </select>
</div>

JQuery

$(function() {
    $("#mylist").change(function() {
        var selIndex = this.selectedIndex;
        if (selIndex > 0) {
            $("#list select").hide();
            for (i = 0; i < selIndex; i++) {
                $("#list select:eq(" + i + ")").show(400);
            }
        } else {
            $("#list select").hide(300);
        }
    });
});

CSS

#list select{
  display:none;
}

演示 http://codebins.com/bin/4ldqp7f

关于javascript - 检查下拉列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344036/

相关文章:

javascript - Ionic 2-无限滚动不在第二个滚动上调用方法

javascript - impress.js - 元素符号列表

javascript - jquery ajax url不包括服务器路径

jquery - 如何找到 jQuery 中未更改的输入元素?

asp.net-mvc-3 - 在 MVC3 中创建由其他模型的对象组成的 View 模型

asp.net-mvc-3 - 自定义 WebPageRazorHostFactory

javascript - 获取 Jquery 数据表中的总行数

javascript - 当另一个元素滚动到时尝试将 addClass 添加到一个元素

javascript - 我如何在php中获取选择值而不是选项值

c# - ASP.NET MVC Razor 语法错误