【发布时间】:2017-06-30 13:22:49
【问题描述】:
我知道我可以用SelectedListItem> 和@Html.DropDownList("someID") 和操作系统的列表创建一个下拉列表。
我的问题是,如果您有 2 个下拉菜单,而第二个下拉菜单取决于第一个下拉菜单中的所选项目,该怎么办?
你如何填充它?用JS?你会怎么做? 您是否会用另一个列表更改填充,更改整个下拉列表,或者可能为每个下拉列表组合提供部分视图,所以只需用正确的下拉列表替换即可。
【问题讨论】:
-
这是基本思想。在第一个下拉列表更改时触发一个 Jquery 函数,该函数对服务器执行 AJAX 调用,根据所选值获取记录并构建第二个下拉列表。因此,当第一个下拉菜单发生变化时,该过程会重复..
-
您可以将仅带有 Option 标记的局部视图返回给 Ajax 调用。在您的 ajax 成功中,您需要将其附加到各自的
<select>标记中。或者,如果您不想返回部分视图,则可以返回 JSON,然后循环值并生成<option>标记并将其附加到下拉 -
类似这样的东西,我猜想用 JS 手动填充: $("#Countries").change(function() { $.getJSON("/Home/States/List/" + $( "#Countries > option:selected").attr("value"), function(data) { var items = ""; $.each(data, function(i, state) { items += ""; } ); $("#States").html(items); }); });
-
这正是你所需要的......
-
:) 我很好......反正这里有很多类似的答案......快乐的编码兄弟......
标签: html asp.net-mvc asp.net-mvc-5 html.dropdownlistfor