0

我认为这是:

<script type="text/javascript" language="javascript">

    $(document).ready(function () {
        $('a.create').click(function () {
            // create dropdown, insert in span
        })
    });

</script>

<a class='create' href='#'>Click</a>
<span></span>

在我的控制器方法中,我传递了一个应该填充选择列表的集合,并且可以在我的视图中使用@Model.Agencies.

我正在尝试遵循此处的解决方案(如何使用 jQuery 动态创建下拉列表?),但我不知道如何从模型的集合中创建数组。

4

3 回答 3

0

由于您使用的是 MVC,因此我可以想到其他 2 种方法来执行此操作。

第一种是使用 HTML Helper 函数@Html.DropDownList()@Html.DropDownList. 这是最简单的方法,它还会将所选选项的值属性提交回您的视图模型。要使用这些函数,您需要将列表设为 SelectList 或 SelectListItems 列表。

第二种方法是使用扩展 html 助手。这需要更多的努力,但如果您需要将自定义属性添加到生成的 html,则可能是必要的。

于 2013-05-29T00:06:30.087 回答
0

您基本上只需要填充 JavaScript 数据数组。这将要求您将值注入数组。

外部var data = {和 foreach 循环基于@Model.Agencies. 由于我不知道您的Agencies列表是如何定义的,我只是猜测,Id并且Name

var data = {
     @foreach(var agency in Model.Agencies)
     {
       <text>'</text>agency.Id<text>': '</text>agency.Name<text>,</text>
     }    
}

您可能不得不使用标签。

于 2013-05-26T01:42:26.623 回答
0

如果您只想创建 Dropdown,您可以像这样创建

      @Html.DropDownListFor(x => x.AgencyId,
        new SelectList(Model.Agencies, dataTextField: "AgencyName", dataValueField: "FinancialYearId"))

您将在 AgencyId 中获得下拉选择的值。

于 2013-08-29T09:00:20.787 回答