我们说我有这个选择。如果我发布此值,则值为:city 1,city 2,city 3和city 4.我不想给它们一个值,因为该值与option-name相同。
这可以吗?
<select>
<option>City 1</option>
<option>City 2</option>
<option>City 3</option>
<option>City 4</option>
</select>
答案 0 :(得分:17)
如果没有值,您的文字将被使用。您可以在HTML标准中找到此信息:
value属性为元素提供值。 option元素的值是value content属性的值(如果有),或者,如果没有,则为元素的text IDL属性的值。
https://html.spec.whatwg.org/multipage/forms.html#the-option-element
或W3C Wiki
为元素提供值。 如果没有,则option元素的值是元素的textContent https://www.w3.org/wiki/HTML/Elements/option
测试用例
使用以下代码段,您可以测试选项的行为:http://jsfiddle.net/ghqp08kr/
<form action="http://posttestserver.com/post.php" method="post">
<select name="values">
<option value="with-value">With Value</option>
<option>Without Value</option>
<option value="">With Empty Value</option>
</select>
<input type="submit"/>
</form>
&#13;
<!-- With Value -->
key: 'values' value: 'with-value'
<!-- Without Value -->
key: 'values' value: 'Without Value'
<!-- Without Empty Value -->
key: 'values' value: ''
答案 1 :(得分:2)
虽然可以接受,但不建议这样做,因为所有浏览器和网络服务器都解释相同的事情。提供这样的值总是更好,即使它们只是重复:
<select>
<option value="City 1">City 1</option>
<option value="City 2">City 2</option>
<option value="City 3">City 3</option>
<option value="City 4">City 4</option>
</select>
来自docs:
value
如果选择此选项,则此属性的内容表示要随表单提交的值。如果省略此属性,则从选项元素的文本内容中获取值。