Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第一个下拉选项不是选项;强制使用其他选项 选择一个选项。 A B C_Javascript_Html - Fatal编程技术网

Javascript 第一个下拉选项不是选项;强制使用其他选项 选择一个选项。 A B C

Javascript 第一个下拉选项不是选项;强制使用其他选项 选择一个选项。 A B C,javascript,html,Javascript,Html,HTML5具有required=“required”,这就是我想要的上面下拉列表的效果。我不希望用户选择“选择选项”,只选择“A”、“B”或“C”。我知道我可以将默认值设置为a,然后完全删除“选择选项”选项,但我不希望用户在没有阅读可用选项的情况下随意单击 这可以通过HTML和/或JS实现吗?只需将显示:无赋予元素选项和禁用=禁用。感谢@pixshatterer 编辑:错误地放置了可见性:隐藏。如果您使用验证插件(此处:)并更新以在每个上提供值,则如果选择了“空”值,将阻止表单提交: <

HTML5具有
required=“required”
,这就是我想要的上面下拉列表的效果。我不希望用户选择“选择选项”,只选择“A”、“B”或“C”。我知道我可以将默认值设置为a,然后完全删除“选择选项”选项,但我不希望用户在没有阅读可用选项的情况下随意单击


这可以通过HTML和/或JS实现吗?

只需将
显示:无
赋予元素
选项
禁用=禁用
。感谢@pixshatterer


编辑:错误地放置了
可见性:隐藏。

如果您使用验证插件(此处:)并更新
以在每个
上提供
值,则如果选择了“空”值,将阻止表单提交:

<select name="name">
    <option>Select an option.</option><br/>
    <option>A</option><br/>
    <option>B</option><br/>
    <option>C</option><br/>
</select>

选择一个选项。。。
A.
B
C
还值得注意的是,
的唯一有效子元素是
,因此请删除这些


如果jQuery不是一个选项,您可以始终在select中添加一个
onclick
,或在表单中添加一个
onsubmit
,并对空字符串(或您设置的默认值)进行快速检查。

编辑:此代码仅用于强制用户选择有效选项,而不是默认情况下的选项。。。应添加提交/更改/etc的验证

您只需禁用第一个选项并将其设置为默认选中:

<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>

选择一个选项。
A.
B
C

这应该可以做到,这里演示一下

只是好奇,为什么选项之间有换行符?HTML5
required
属性意味着用户必须选择一些选项。问题似乎是关于禁止其中一个选项。@JukkaK.Korpela,是的。我想让选项A、B和C成为必需选项,但这只是我想要的一个例子。这不是最好的主意,用户仍然可以选择“选择一个选项作为选项”,如图所示:@agconti,犯了一个错误,请检查修改后的答案。放置
可见性:错误地隐藏了
。@Parto。好主意。第一次点击时效果很好,但是如果你一直点击,它仍然允许你选择“选择一个选项”。我不知道为什么会这样。@agconti,如果您使用键盘,它也允许您选择选项。Hmph最终使用了
disabled
以及
display
好主意和持久性+1由于提到@Tieson,这些
在select标记中是无效的标记。Cheers,我知道有一些简单的解决方案,只使用HTML而不使用JS。你帮了大忙!如果下拉列表没有更改,这难道不允许提交“选择选项”吗?只是我自己测试了一下。。。在Chrome版本68.0.3440.106中,这允许用户在未对默认选定选项进行任何更改的情况下仍然提交。
<select name="name">
  <option disabled="disabled" selected="selected">Select an option.</option>
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>