GetEnumSelectList覆盖默认的选择选项值



我正在加载EnumData到下拉列表,但默认值正在被覆盖。当我将Enum的默认值更改为以1开始而不是0(因为它是默认值)时,默认值显示,但如果Enum从0开始(默认),下拉菜单中的默认选择值将覆盖第一个Enum选择。

下面是我的代码:
<div class="form-group row">
<label asp-for="Feature" class="col-md-4 control-label"></label>
<div class="col-md-8">
<select asp-for="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
<option selected="selected" value="">Please select</option>
</select>
</div>
</div>

当我在浏览器中打开开发人员工具时,看到2个下拉值selected属性分配给"selected"

<option selected="**selected**" value="">Please select</option>
<option selected="**selected**" value="0">Feature 0</option>
<option value="1">Feature 1</option>
<option value="2">Feature 2</option>
<option value="3">Feature 3</option>

如何克服这个问题?

您可以尝试以下两种方法:

1。在select元素中删除asp-for标记助手。手动添加其名称和id。

<select name="Feature" id="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
<option selected="selected" value="">Please select</option>
</select>

2。写js来设置选中的选项:

<script>
$("select").prop("selectedIndex", 0);
</script>

相关内容

  • 没有找到相关文章

最新更新