GetEnumSelectList 覆盖默认选择的选项值
GetEnumSelectList overrides the default selected option values
我正在将 EnumData 加载到下拉列表中,但默认值被覆盖了。当我将 Enum 的默认值更改为以 1 而不是 0(因为它是默认值)开始时,到那时显示默认值,但如果 Enum 从 0(默认值)开始,则下拉列表中的默认选择值将覆盖第一个枚举选择。
下面是我的代码:
<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.Remove select 元素中的 asp-for
标签助手。手动添加其名称和 ID。
<select name="Feature" id="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
<option selected="selected" value="">Please select</option>
</select>
2.Write js 设置 selected 选项:
<script>
$("select").prop("selectedIndex", 0);
</script>
我正在将 EnumData 加载到下拉列表中,但默认值被覆盖了。当我将 Enum 的默认值更改为以 1 而不是 0(因为它是默认值)开始时,到那时显示默认值,但如果 Enum 从 0(默认值)开始,则下拉列表中的默认选择值将覆盖第一个枚举选择。
下面是我的代码:
<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.Remove select 元素中的 asp-for
标签助手。手动添加其名称和 ID。
<select name="Feature" id="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
<option selected="selected" value="">Please select</option>
</select>
2.Write js 设置 selected 选项:
<script>
$("select").prop("selectedIndex", 0);
</script>