我一直在寻找这个问题的答案,但没有任何完全满足我正在寻找的东西。 我有一个项目下拉列表。当用户选择一个项目时,我想将所选值与两个不同列表中的项目进行比较(两个列表都是从db填充并存储在ViewData中)。这样,我可以根据匹配的列表项填充一些其他表单数据。我想做这个客户端(即使用JQuery / Javascript)。 这篇文章看起来是一个好的开始,但我需要将我的1值与2个不同列表中的项目进行比较: Need simple example of how to populate javascript array from Viewdata list
答案 0 :(得分:0)
最终得到了我的问题的答案。在我的.cshtml文件的表单部分,我有:
@Html.DropDownList("DropDownCompany", (ViewData["DropDownCompanies"] as SelectList), "Select a Company")
在我的.cshtml文件的javascript部分,我有:
$('#DropDownCompany').change(function () {
var dropdownvalue = $('#DropDownCompany').val();
// This is a list of objects
var str2 = @Html.Raw(Json.Encode(ViewData["CompaniesData"]));
然后,我可以稍后(仍在javascript部分内)通过以下方式对它们进行比较:
// CompanyKey is a field of the CompaniesData class
for(var i in str2) {
if (str2[i].CompanyKey == dropdownvalue) {
// Do Stuff
}