我正在做一个MVC5项目,我有两个数据列表。一个保存文档列表,另一个保存格式信息。我试图实现的是,当我选择其中一个文档时,格式列表将被过滤到适用于该文档的内容。因此,我的想法是将我的@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放入数组中,我认为这是因为它有多个列。感谢您的帮助!
发布于 2019-12-24 03:21:27
将C#列表转换为js数组,并在"change“事件中使用它:
var jsArray = @Html.Raw(Json.Encode(Model.documents));发布于 2019-12-24 03:26:03
将C#对象(服务器端)传递到JS数组(客户端)。您将得到的只是数组中的类型名称。
看看是否可以将文档类型添加为格式类型选项的类名。因此,基于文档选择,您只能使用相应的文档类型类来筛选格式选项。您可以使用javascript进行此过滤
https://stackoverflow.com/questions/59460111
复制相似问题