0

我正在我的 .aspx 页面中创建一个选择列表。

<label for="AccessType" class="required"><span class="required">*</span><%=Html.Resource("accessType")%>:</label>
                <select id="AccessType" name="AccessType">
                <% foreach (var item in Enum.GetValues(typeof(Security.AccessType)))
                {%> 
                <option value="<%=(int)item%>"><%=item%> </option> 
                <%}%>
                </select><br />

现在每次我加载页面时,它都会选择第一个值作为默认值,因为我希望模型中存在的值被选中。

我将下拉列表绑定到我的代码中的枚举。Security.AccessType 是枚举而不是模型。所以每次页面加载时,它都会将下拉列表的选定值显示为第一个枚举

我希望选定的项目是 Model.AccessType ...

我知道这是一个非常基本的问题,但仍有帮助吗?

4

2 回答 2

0

您可以为要默认设置的选项提供“选定”属性,例如:

<option value="apple" selected="selected">apple</option> 

如果你想动态选择一个选项,你可以通过 javascript 来完成。例如:

var el = document.getElementById("AccessType");
el.selectedIndex = yourIndex; //index of the option you want to select
//or
el.value = "yourValue"; //value of the option you want to select
于 2012-12-14T06:51:46.767 回答
0

我使用了followig并得到了结果..

$('#ddlAccessType').val($("#ddlAccessType option:contains('" + $('#AccessTypeValue').val() + "')").val());

这是首先获取 AccessType 值,然后在下拉列表中检查其索引,然后将所选索引设置为找到的索引。

有点奇怪,但对我来说很好用..

于 2012-12-17T11:45:46.043 回答