假设选择
<select name="myselect" id="myselect">
<option value="a">A</option>
<option value="b">B</option>
</select>
我可以设置所选选项,将其更改为value
属性:
document.getElementById('myselect').value = 'b';
但我无法使用value
属性执行此操作,因此以下操作无效:
<?php
$myselectValue = $_GET['myselect'] ?: 'a';
// Do something with $myselectValue
?>
<select name="myselect" id="myselect" value="<?php echo $myselectValue; ?>">
<option value="a">A</option>
<option value="b">B</option>
</select>
而且,我必须编写更丑陋,更不干净的服务器端代码。
我认为选择包含<select>
的{{1}}属性而不是value
的{{1}}属性的所选选项会更有意义。
为什么w3c认为<option>
优于selected
?也许我没有看到任何优势?
答案 0 :(得分:1)
没有人知道他们在想什么,但有几种情况value
可能没有意义:
<select multiple>
另请注意,属性与属性不同。
从语义上讲,让可用选项列表(通过<option>
)和select
属性指示实际选择的选项(或选项)更有意义,而不是必须将其与属性值。