3

假设一个选择像

<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>'value属性而不是<option>' 的选项更有意义selected

为什么 w3c 认为这<option value="x" selected>比 更好<select value="x">?也许有什么我看不到的优势?

4

1 回答 1

1

不知道他们在想什么,但有几种情况value可能没有意义:

  • 值无效
  • <select multiple>

还要记住,属性与属性不同。

从语义上讲,拥有可用选项列表(通过<option>)和select指示实际选择的选项(或多个选项)的属性更有意义,而不必将其与属性值相协调。

于 2013-07-19T22:00:40.000 回答