在选择菜单中选择"无法选择"的选项

use*_*627 55 html html-select

我有一个select带有一些选项的元素,但我想要一些不可选择的选项.

基本上它是这样的:

<select>
    <option> CITY 1 </option>
    <option> City 1 branch A </option>
    <option> City 1 branch B </option>
    <option> City 1 branch C </option>
    <option> CITY 2 </option>
    <option> City 2 branch A </option>
    <option> City 2 branch B </option>
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我不希望城市可以直接选择,而只能选择每个城市下的选项.

如何才能完成用户可以点击CITY 1或者CITY 2不会被选中,因此用户被迫选择下面的一个分支?

Ble*_*der 138

你可能正在寻找<optgroup>:

<select>
    <optgroup label="CITY 1">
        <option>City 1 branch A</option>
        <option>City 1 branch B</option>
        <option>City 1 branch C</option>
    </optgroup>

    <optgroup label="CITY 2">
        <option>City 2 branch A</option>
        <option>City 2 branch B</option>
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/Zg9Mw/

如果你确实需要使常规<option>元素不可选,你可以给它们disabled属性(它是一个布尔属性,所以值根本不重要):

<option disabled>City 2 branch A</option>
Run Code Online (Sandbox Code Playgroud)

  • 哇!我已经做了10年的网络开发,我不知道有一个名为"optgroup"的元素!谢谢! (32认同)
  • 大声笑我从检查[WordReference](http://www.wordreference.com)找到了`optgroup`.重要提示:如果您计划对HTML进行XML验证,请确保仅使用"disabled ="disabled"",而不是"禁用". (3认同)

小智 19

我可以从你的问题中看到我之前的答案实际上是你正在寻找的东西,但是只是要注意未来的人来到这个StackOverflow问题,我自己寻找类似的答案,他们可以在一个选项中简单地键入'Disabled'.

<select>
  <option value="apple" disabled>Apple</option>
  <option value="peach">Peach</option>
  <option value="pear">Pear</option>
  <option disabled="true" value="orange">Orange</option>
</select>
Run Code Online (Sandbox Code Playgroud)

JSFiddle演示

  • 请注意,`disabled` 实际上没有值,它的存在使元素`disabled`。`disabled=""`、`disabled="false"` 和`disabled` 都具有相同的效果。 (2认同)

max*_*ran 13

来自:如何在默认情况下显示禁用 HTML 选择选项?

这是做同样事情的另一种方式。

编辑:(现在你可以在这里运行它)

<label>Unreal :</label>
<select name="unreal">
   <option style="display:none">Select One</option>
   <option>Money</option>
   <option>Country</option>
   <option>God</option>
</select>
Run Code Online (Sandbox Code Playgroud)


Tra*_*s J 11

jsFiddle Demo

你会用 <optgroup>

<select>
 <optgroup label="City 1">
  <option>City 1 Branch A</option>
  <option>City 1 Branch B</option>
  <option>City 1 Branch C</option>
 </optgroup> 
 <optgroup label="City 2">
  <option>City 2 Branch A</option>
  <option>City 2 Branch B</option>
 </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)