use*_*360 12 asp.net-mvc placeholder drop-down-menu
我正在使用asp.net mvc 3.
我有这个国家的下拉列表,我想为它添加一个占位符.这是我的代码:
@Html.DropDownList("country",
new SelectList(ViewBag.countries as System.Collections.IEnumerable,
"name", "name"), new { @class="chzn-select", @placeholder="-select-",
@style="width:160px;" } )
Run Code Online (Sandbox Code Playgroud)
但占位符不起作用,而风格有效.
如何为此设置占位符?
PS.我只是想用@Html.DropDownList,而不是@Html.DropDownListFor
小智 10
你可以试试这个:
@Html.DropDownList("country", new SelectList(ViewBag.countries), "-select- ", new { @class="chzn-select", @style="width:160px;" })
Run Code Online (Sandbox Code Playgroud)
在您的集合ViewBag.Countries中,只需在集合的from处插入一个名为"-select-"的虚拟记录.您应该能够使用如下的替代构造函数强制选定的项:
@Html.DropDownList("country",
new SelectList(ViewBag.countries as System.Collections.IEnumerable,
"name", "name", "-select-"), new { @class="chzn-select", @style="width:160px;" } )
Run Code Online (Sandbox Code Playgroud)
一个涉及 jQuery 的快速且(不那么)肮脏的解决方案。
不要在列表的开头添加一个虚拟项目,而是添加一个禁用的新选项。主要优点是您不必弄乱列表中的虚拟项目,最重要的是,您将无法在页面中选择该虚拟项目:
@Html.DropDownList("yourName", yourSelectList, new { @class = "form-control select-add-placeholder" })
Run Code Online (Sandbox Code Playgroud)
然后在某处之后:
$(".select-add-placeholder").prepend("<option value='' disabled selected>Select an option...</option>");
Run Code Online (Sandbox Code Playgroud)
看起来像:
| 归档时间: |
|
| 查看次数: |
35583 次 |
| 最近记录: |