我有一些jquery代码来隐藏/显示一些东西,具体取决于枚举值构成的下拉值。
这是下拉列表的填充方式:
public IList<SelectListItem> DataTypes => new List<SelectListItem>(
Enum.GetValues(typeof(DataType))
.Cast<DataType>()
.Select(v => new SelectListItem
{
Text = v.ToString(),
Value = ((int)v).ToString()
}).ToList());
我无法完成这项工作。我尝试过:
if ($('#Data_Type').val() === <%:((int)DataType.SomeType).ToString()%>)
只是默默地失败
而以下的不同变体
if ($('#Data_Type: selected').text() === <%:DataType.SomeType.ToString()%>)
导致js错误
未定义某些类型
使用魔术弦("0"
和"SomeType"
)有效。
有办法吗?
答案 0 :(得分:0)
我认为这不可能。我最终将字符串值添加到模型中的数组并将其解析为JavaScript数组。
JSON.parse('@Html.Raw(Model.DataTypes)');
然后检查数组是否包含文本。