使用镜像值属性指定OPTION元素是否有好处?

时间:2011-03-06 17:33:54

标签: html

我想知道,这样做是否有充分的理由:

<option value="My Value">My Value</option>

与此相反:

<option>My Value</option>

换句话说,明确指定value属性,即使其中包含的valueoption代码中的内容没有差异?

我经常在专业开发的软件包中看到第一个。只是想知道在没有必要时做前者有什么好处或背景,或者无关紧要(换句话说,编码风格/偏好)。

注意,我发现有时这很有用,例如:

<option value="USA">United States</option>

当他们是相同的时候,我想知道适当的事情是做什么的。

此外,正如凯尔指出的那样,规范说第二种形式完全合法。所以我的想法是value可能存在其他原因。

3 个答案:

答案 0 :(得分:2)

通常,您会看到value是数据库中代理键(通常是标识列)的表示,因此值通常表示intlong。通过这种方式,您可以在表单中发布键值时显示用户友好值“我的价值” - 例如“100”。

然而,人们可以提出这样的论点:你应该总是提供一个“值”属性,因为它更具描述性,并且将来更容易编写脚本。

答案 1 :(得分:2)

即使在处理代码期望与显示的选项具有相同值的情况下,通常最好还是将显示的文本与选项的值分离。

例如,如果您想要将此网站国际化,您可能希望能够翻译显示的文本,而不是value属性。

答案 2 :(得分:0)

http://www.w3.org/TR/html4/interact/forms.html#adef-value-OPTION

option元素的默认值是每个w3c的元素内容。

我会说这是一种编码风格的东西。