2012-10-16 53 views
0

我有在这样的选择元素显示的第一个选项的麻烦:http://jsfiddle.net/L6h9Q/HTML选择禁用

我想第一个选项标签作为占位符的工作,但第二个默认情况下,首先显示。

+0

因为您已禁用第一个选项。这是您禁用第一个选项的要求吗? – pkachhia

+0

有什么办法可以解决这个问题吗?希望使用禁用选项作为占位符。 – user1683645

回答

1

仅显示启用值,您可以添加selected="selected"属性,把它放在第一个默认选项。

0

是因为它会先禁用的值

1

一种解决方法:http://jsfiddle.net/L6h9Q/2/

必备部件:

  1. 添加requiredselect;
  2. 使用select:invalid使颜色变灰;使用option:first-child使第一个选项变灰。

缺点:仅适用于支持HTML5/CSS3的浏览器。


编辑

通过@Russell启发,这里有一个(有点)更好的解决方案:http://jsfiddle.net/L6h9Q/3/

1

禁用的项目(根据定义),不能选择。页面加载时显示的项目确实被选中。

使用普通的JS和HTML的规范方法是保持启用该选项,然后在提交时(客户端和服务器端)验证表单结果。如果用户选择了占位符选项(在您的案例中为“City ...”),那么让他们知道他们已经做出了无效选择。