期权价值中的有效字符

时间:2011-05-19 19:54:41

标签: html option

我只是想知道可以包含哪些有效字符作为<option>

的值

即。这有效吗?

<select>
    <option value='0dbl,2sgl'>0 Double and 2 Singles</option>
    <option value='1dbl,0sgl'>1 Double and 0 Singles</option>
</select>

2 个答案:

答案 0 :(得分:11)

是的,这完全有效。 See the specification:它说value的内容应为CDATA,其中几乎所有内容都有效,并带有以下警告:

  • 用字符替换字符实体
  • 忽略换行,
  • 用一个空格替换每个回车或标签。

答案 1 :(得分:3)

对于HTML4:

OPTION Attribute definitions

selected [CI]
  When set, this boolean attribute specifies that this option is pre-selected.
value = cdata [CS]
  This attribute specifies the initial value of the control. If this attribute is not set, the initial value is set to the contents of the OPTION element.
label = text [CS]
  This attribute allows authors to specify a shorter label for an option than the content of the OPTION element. When specified, user agents should use the value of this attribute rather than the content of the OPTION element as the option label.

来源:http://www.w3.org/TR/html401/interact/forms.html#h-17.6

所以我们去看CDATA的定义:

  

CDATA是一系列字符   文档字符集和可能   包括字符实体。用户   代理人应该解释属性   值如下:

  • 用字符替换字符实体
  • 忽略换行,
  • 用一个空格替换每个回车或标签。 用户代理可以忽略CDATA属性值中的前导和尾随空格(例如,“myval”可以被解释为“myval”)。作者不应声明带有前导或尾随空格的属性值。
  

对于某些带有CDATA的HTML 4属性   属性值,规范   对集合施加进一步限制   属性的合法值   可能不会由DTD表达。

来源:http://www.w3.org/TR/html401/types.html#type-cdata

由于没有注明约束,value的有效内容必须具有正确转义的实体,正确定义的实体,并且在文档编码的范围内。