我有一个非常奇怪的要求,其中我被要求在HTML下拉菜单中没有默认选择的选项。然而,
我不能用这个,
<选择> <选项> < /选项> <选项>选项1 > < /选项 <选项>选项2 > < /选项 <选项>选项3 > < /选项 < /选择>
因为,对于这个,我必须做验证来处理第一个选项。有人能帮助我实现这个目标,而不实际包括第一个选项作为选择标签的一部分吗?
我有一个非常奇怪的要求,其中我被要求在HTML下拉菜单中没有默认选择的选项。然而,
我不能用这个,
<选择> <选项> < /选项> <选项>选项1 > < /选项 <选项>选项2 > < /选项 <选项>选项3 > < /选项 < /选择>
因为,对于这个,我必须做验证来处理第一个选项。有人能帮助我实现这个目标,而不实际包括第一个选项作为选择标签的一部分吗?
当前回答
我只想说一句:
一些Safari浏览器似乎既不尊重“hidden”属性,也不尊重样式设置“display:none”(在MacOS 10.12.6下使用Safari 12.1测试)。没有显式的占位符文本,这些浏览器只是在选项列表中显示一个空的第一行。因此,为这个“虚拟”条目提供一些解释性文本可能是有用的:
<option hidden disabled selected value>(select an option)</option>
由于“disabled”属性,它无论如何都不会被主动选择。
其他回答
试试这个:
<h2>Favorite color</h2>
<select name="color">
<option value=""></option>
<option>Pink</option>
<option>Red</option>
<option>Blue</option>
</select>
下拉菜单中的第一个选项将是空白。
也许这个会有帮助
<选择> <option disabled selected value>——选择一个选项——</option> <选项>选项1 > < /选项 <选项>选项2 > < /选项 <选项>选项3 > < /选项 < /选择>
——select an option——默认显示。但是如果你选择了一个选项,你将不能再选择它。
您也可以通过添加一个空选项来隐藏它
<选择风格= "显示:没有" >
所以它不会再出现在列表中了。
选项2
如果你不想写CSS,并期望上面的解决方案具有相同的行为,只需使用:
<option hidden disabled selected value>——选择一个选项——</option> .
我想一个好主意是使用单选按钮,设置#1为默认并隐藏它,给它一个例子 Name ="init"和一个值="null"或其他什么,由你决定!
这样单选按钮列表肯定有一个值,但默认为null可以在逻辑上使用!
我认为没有必要进一步阐述,因为这个想法可以很容易地通过显示来实现:没有;或者可见性:隐藏;
... 而我认为第一个显示:没有;是更好的选择:
对于那些使用<select multiple> (combobox;没有下拉),这对我来说很管用:
<select size=1 disabled multiple> . <select size=1 disabled multiple> . <option hidden selected></option> 我<选项>选项> < /选项 < /选择>
我觉得这很有趣,因为不久以前我也经历过同样的事情。 然而,我在互联网上看到了一个关于这个解决方案的例子。
话不多说,请看下面的代码片段:
<select>
<option value data-isdefault="true">--Choose one Option--</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
这样,它将保持不可提交,但可以随时选择。用户界面更方便,用户体验更好。
好了,就这些了,希望能有所帮助。干杯!