javascript - 如何将 IEnumerable 转换为 javascript 数组

标签 javascript asp.net-mvc

我正在处理一个 MVC 5 项目,我有两个数据列表。一个保存文档列表,另一个保存格式信息。我想要实现的是,当我选择其中一个文档时,格式列表将被过滤为适用于该文档的内容。所以我的想法是将我的 @Model.documents 存储到一个数组中,这样我就可以查找文档 ID。

 <input list="doc" id="document" />
                    <datalist id="doc" name="Doc" placeholder="Please select a document type">
                        @foreach (var item in Model.docType)
                        {
                            <option id="@item.DocumentTypeID" value="@item.DocumentTypeName"></option>
                        }
                    </datalist>

<input list="tribute" />
                    <datalist id="format">
                        @foreach (var item in Model.format)
                        {
                            <option value="@item.formatName"></option>
                        }
                    </datalist>

$(document).ready(function () {
        $('#document').change(function () {
            var x = $("#doc option[value='" + $('#document').val() + "']").attr('id');

            var trib = [];

            @foreach (var d in Model.documents)
            {
                @:trib.push("@d");
            }
            console.log(trib);
        });
    });

但是,这只是作为 Model.documents 放入数组中,我认为这是因为它有多个列。感谢您的帮助!

最佳答案

将您的 C# 列表转换为 js 数组并在“更改”事件中使用它:

var jsArray = @Html.Raw(Json.Encode(Model.documents));

关于javascript - 如何将 IEnumerable 转换为 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59460111/

相关文章:

asp.net-mvc - ASP.NET MVC Content 文件夹中应该包含哪些文件?

jquery 不会在通过 ajax 加载的内容中触发

javascript - 创建搜索栏 C# MVC

javascript - 选中复选框后获取坐标

javascript - Angular Google Charts - 自动高度

javascript - Bamboo 建图生成

c# - ASP.NET Controller 何时被销毁?

javascript - 网页上的 iPad 方向问题

javascript - 如何以编程方式打开 CKFinder 3 中的特定文件夹 - "openFolder"API 丢失?

asp.net-mvc - MVC3在opera中将值设置为文本框类型日期时间