Asp.net mvc 使用html.dropdownlistfor时显示所选值
我正在使用Asp.net mvc 使用html.dropdownlistfor时显示所选值,asp.net-mvc,dropdownlistfor,Asp.net Mvc,Dropdownlistfor,我正在使用 @Html.DropDownListFor(x => x.Selects, new SelectList(Model.Selects, "Value", "Text", Model.Select), "Select"})` 用于显示美国各州列表的下拉列表。我展示的文本是阿拉巴马州、加利福尼亚州、纽约州等…见下文 <option value="AL">AL Alabama</option> <option value="CA">CA Cali
@Html.DropDownListFor(x => x.Selects, new SelectList(Model.Selects, "Value", "Text", Model.Select), "Select"})`
用于显示美国各州列表的下拉列表。我展示的文本是阿拉巴马州、加利福尼亚州、纽约州等…见下文
<option value="AL">AL Alabama</option>
<option value="CA">CA California</option>
<option value="NY">NY New York</option>
....
阿拉巴马州
加州
纽约州
....
值属性具有状态缩写。我想要实现的是,当用户进行选择时,UI上的选定值应该显示州缩写,而不是州名称。目前它显示的是州名的缩写。有人能帮我吗 最简单的解决方案是只需使用Value属性两次(作为选项的值和内部文本): 如果您首先希望显示状态名,然后仅在选择用户后将其更改为状态缩写,则应通过Javascript处理此问题 要通过Javascript实现这一点,您应该首先设置下拉列表的id,并分配相应的
onChange
函数:
@Html.DropDownListFor(x => x.Selects,
new SelectList(Model.Selects, "Value", "Text", Model.Select), "Select"},
, new {@id="selectListId" onchange = "setText(this)"})
然后实现您的功能:
function setText(sel) {
var selectedItem = sel.options[sel.selectedIndex];
selectedItem.text = selectedItem.value;
//or
//$("#selectListId option:selected").text(selectedItem.value);
}
有没有关于如何使用javascript实现这一点的提示?
function setText(sel) {
var selectedItem = sel.options[sel.selectedIndex];
selectedItem.text = selectedItem.value;
//or
//$("#selectListId option:selected").text(selectedItem.value);
}