我想知道,这样做是否有充分的理由:
<option value="My Value">My Value</option>
与此相反:
<option>My Value</option>
换句话说,明确指定value
属性,即使其中包含的value
与option
代码中的内容没有差异?
我经常在专业开发的软件包中看到第一个。只是想知道在没有必要时做前者有什么好处或背景,或者无关紧要(换句话说,编码风格/偏好)。
注意,我发现有时这很有用,例如:
<option value="USA">United States</option>
当他们是相同的时候,我想知道适当的事情是做什么的。
此外,正如凯尔指出的那样,规范说第二种形式完全合法。所以我的想法是value
可能存在其他原因。
答案 0 :(得分:2)
通常,您会看到value是数据库中代理键(通常是标识列)的表示,因此值通常表示int
或long
。通过这种方式,您可以在表单中发布键值时显示用户友好值“我的价值” - 例如“100”。
然而,人们可以提出这样的论点:你应该总是提供一个“值”属性,因为它更具描述性,并且将来更容易编写脚本。
答案 1 :(得分:2)
即使在处理代码期望与显示的选项具有相同值的情况下,通常最好还是将显示的文本与选项的值分离。
例如,如果您想要将此网站国际化,您可能希望能够翻译显示的文本,而不是value
属性。
答案 2 :(得分:0)
http://www.w3.org/TR/html4/interact/forms.html#adef-value-OPTION
option元素的默认值是每个w3c的元素内容。
我会说这是一种编码风格的东西。