[英]Can an HTML <select> element have a default selectedIndex of -1 without running page-wide javascript?
我的网站上有几个地方需要“组合框”样式控件。 为此,我将组合框控件封装到.NET服务器端组件中以实现可重用性。 有些页面可能有一个组合框,有些可能没有。
在核心,这个组合框包含一个文本框和一个与CSS适当对齐的“下拉列表”。 部分HTML呈现简单:
<select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
下拉列表必须从空开始,并且更改为任何值(包括“选项1”)必须触发onchange事件。
我通过做类似的事情来实现这一点:
document.getElementById("theSelectElement").selectedIndex = -1;
但我不想对页面上的每个元素运行javascript。 我意识到我可以使用jQuery来选择CSS类,但大多数页面上都没有select元素,什么都不会发生。
有没有办法设置封装在标签本身的selectedIndex? 就像是:
<select selectedIndex="-1">...
要么
<select onload="this.selectedIndex = -1">...
?
选择是无线电状态持有者,因此没有“未选择”状态
<select name="aaa">
<option value=""></option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
顺便说一句,你可以使用一个空的<option>
您可以使用以下内容:默认情况下,将自动选择第一个选项
<select name="aaa">
<option value="0">select any option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
以下是select的一些文档: http : //www.w3.org/TR/html4/interact/forms.html#h-17.6
如果您已将其包装在自己的用户控件或自定义控件中,则需要公开公开defaultSelection
属性(或任何您命名的属性),以便在服务器标记中指定它。
您谈到在<select>
标记中执行此操作,但这是HTML标记 - 而不是<ASP:DropDown ... >
或<myControl:CustomSelect ... >
的服务器端标记
编辑:如果它是纯HTML,那么只输出带有selected
属性集的默认选择:
<select>
<option value="1">Top</option>
<option selected="selected" value="-1">Middle (Empty)</option>
<option value="2">End</option>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.