【问题标题】:<select> <option disabled> makes option item disappear in firefox<select> <option disabled> 使选项项在 firefox 中消失
【发布时间】:2013-11-21 10:38:22
【问题描述】:
<select class="form-control" id="service_select">    
     <option disabled="disabled"></option>
</select>

在 chrome 中它很好。是否有另一种方法可以使其禁用但不隐藏?谢谢。

【问题讨论】:

  • Firefox 显示选项:jsfiddle.net/Te6X7
  • 添加另一个选项时,打开页面时 firefox 会选择第二个(未禁用)选项。谢谢

标签: html css firefox


【解决方案1】:

该选项没有隐藏 - 您只是其中没有任何文本:

<select class="form-control" id="service_select">    
     <option disabled="disabled">Place some text here</option>
</select>

如果您的第一个选项被禁用(因此无法选择),Firefox 将选择第一个未禁用的选项。

<select class="form-control" id="service_select">    
     <option disabled="disabled">One</option>
     <option disabled="disabled">Two</option>
     <option>Three</option>
</select>

当您检查下拉列表时可以看到前两个选项,但无法选择 - 因此在上面的示例中将选择“三个”。

如果您想阻止用户选择第一个选项,但又想显示它 - 使用带有空值的 required 属性...

    <select required>
        <option value="">Please select</option>
        <option value="1">One</option>
        <option value="2">Two</option>
    </select>

【讨论】:

  • 是的!现在,即使它被禁用,如何让它选择第一个选项?
  • 您不能选择第一个选项 - 因为它已被禁用。您是否尝试创建不希望用户提交的第一个选项,例如“请选择...”?有一种不同的技术可以做到这一点。
  • 什么样的技术?
  • 我将它添加到我的答案中 - 在第一个选项上使用带有空值的 required 属性。
  • 如果用户选择第一个选项,我必须检查 javascript 中的值是否为空。好的,谢谢回复。我希望 Firefox 像 chrome 一样工作。 :(
猜你喜欢
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 1970-01-01
相关资源
最近更新 更多