我有一个选择控件,在一个javascript变量中我有一个文本字符串.
使用jQuery我想将select控件的selected元素设置为具有我所拥有的文本描述的项目(而不是我没有的值).
我知道按值设置它是非常微不足道的.例如
$("#my-select").val(myVal);
Run Code Online (Sandbox Code Playgroud)
但是通过文字描述我有点难过.我想必须有一种从文本描述中获取价值的方法,但是我的大脑在星期五下午也可以解决它.
我在控制器中创建一个selectList,以在视图中显示.
我正试图在飞行中创建它,有点像......这样......
myViewData.PageOptionsDropDown =
new SelectList(new [] {"10", "15", "25", "50", "100", "1000"}, "15");
Run Code Online (Sandbox Code Playgroud)
它编译,但输出不好......
<select id="PageOptionsDropDown" name="PageOptionsDropDown">
<option>10</option>
<option>15</option>
<option>25</option>
<option>50</option>
<option>100</option>
<option>1000</option>
</select>
Run Code Online (Sandbox Code Playgroud)
注意没有选择项目?
我怎样才能解决这个问题??
我有一个性别选择字段(--Select--,Male,Female),我在我的控制器中填充它.页面加载时,我希望pm.Gender在页面加载时自动选择模型中选择的性别.
价值来自pm.Gender:
视图:
<%: Model.Gender %>
<%: Html.DropDownListFor(m => m.Gender, (IEnumerable<SelectListItem>)ViewData["gender"], new { @class = "span2" })%>
Run Code Online (Sandbox Code Playgroud)
控制器:
gender = new[] { "Select", "Male", "Female" };
List<SelectListItem> genderselectList = new List<SelectListItem>();
foreach (string item in gender)
{
SelectListItem sli = new SelectListItem { Text = item, Value = item };
if (item.Trim().StartsWith(pm.Gender))
sli.Selected = true;
genderselectList.Add(sli);
}
ViewData["gender"] = genderselectList;
Run Code Online (Sandbox Code Playgroud)
在调试应用程序之后,我可以看到genderselectList包含适当数据的正确数据Selected = true应该被选中.但是当页面加载时,在下拉列表中没有选择任何应该使用Html.DropDownListFor.
编辑:在任何浏览器中都不起作用.
有谁知道可能导致这个问题的原因?任何帮助,将不胜感激.
干杯. …