<select name="name">
<option>Select an option.</option><br/>
<option>A</option><br/>
<option>B</option><br/>
<option>C</option><br/>
</select>
HTML5有required="required"
,这是我想要的效果与上面的下拉列表。我不希望用户选择“选择一个选项”,只选择“A”,“B”或“C”。我知道我可以设置默认值A并完全删除“选择一个选项”选项,但我不希望用户在没有阅读可用选项的情况下随意点击。
可以用HTML和/或JS完成吗?
答案 0 :(得分:12)
编辑:此代码仅强制用户选择有效选项,而不是默认选项...应添加提交/更改/等的验证
您应该禁用第一个选项并默认将其设置为选中:
<select name="name">
<option disabled="disabled" selected="selected">Select an option.</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
答案 1 :(得分:3)
只需将display:none
提供给元素option
和disabled=disabled
即可。感谢@pixshatterer
编辑:错误地提出visibility:hidden
。
答案 2 :(得分:2)
如果您使用验证插件(此处为http://jqueryvalidation.org/)并更新<select>
以在value
上提供<option>
,那么如果“空”将阻止表单提交“选择了价值:
<select name="name" required>
<option value="">Select an option...</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
值得注意的是,<select>
的唯一有效子元素是<optgroup>
或<option>
,因此请删除<br />
。
如果jQuery不是一个选项,您可以随时向表单的select或onclick
添加onsubmit
并快速检查空字符串(或者设置默认值的任何内容)到)。