首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由以前的SelectList值确定的SelectList值

由以前的SelectList值确定的SelectList值
EN

Stack Overflow用户
提问于 2018-11-19 15:46:43
回答 1查看 119关注 0票数 0

要实现第二个依赖于第一个的两个selectLists,我需要了解什么?选择用于过滤引擎大小的make。这将最终返回carDetails

代码语言:javascript
复制
public IActionResult Create()
{
      ViewData["MakeId"] = new SelectList(_context.Sport, "MakeId", "MakeName");
      ViewData["EngineId"] = new SelectList(_context.Venue, "EngineId", "EngineName");

      return View();
}

我已经研究过"where“函数,但无法看到如何使它与此场景一起工作。

视图当前使用"cshtml“(Razor)文件。内容的一个例子是:

代码语言:javascript
复制
  <div class="form-group">
                <label asp-for="MakeId." class="control-label"></label>
                <select asp-for="MakeId" class="form-control" asp-items="ViewBag.MakeId"></select>
  </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-19 17:01:55

可以通过在页面加载时填充一个选择列表来完成这一任务。然后,您可以允许用户选择您想要的内容,并在调用javascript函数的下拉列表上有一个onChange()。

现在可以使用ajax调用来调用控制器并获取数据以填充第二个下拉列表。

下拉列表的HTML应该如下所示:

代码语言:javascript
复制
            <select class="form-control" data-val="true" id="AN ID" name="A NAME (NOT NEEDED)"></select>

在ajax调用的成功部分,您可以这样做:

代码语言:javascript
复制
            //Create a markup for a select
            var markup = "<option Value='0'>Select option</option>";

            //Populate the markup
            for (var i = 0; i < result.length; i++) {
                markup += "<option Value=" + result[i].Value + ">" + result[i].Text + "</option>";
            }

            //Populate dropdown with value
            $("#//DROPDOWNLIST ID").html(markup).show();

这将允许您按顺序填充下拉列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53378184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档