价值属性上
也许我误解这里,但考虑下面的HTML:价值属性上<select>标签不选择默认选项
<select value="2">
<option value="1">Something</option>
<option value="2">Something else</option>
</select>
我希望“别的东西”是默认选择的选项。但是,它似乎不是。为什么是这样,我应该做什么不同?
拥有默认选项的唯一方法是在选项标签中选择。
<SELECT>
<OPTION>Something
<OPTION SELECTED>Something Else
您使用option
元素selected
属性来指定默认选项。
<select>
<option value="1">Something</option>
<option value="2" selected="selected">Something else</option> // this is default
</select>
人。我将不得不使用javascript设置默认值,然后,胡须模板似乎不允许在模板内进行相等性测试... 无论如何,感谢您的回答! – crazy2be 2011-04-08 04:07:25
@ crazy2be能否分享您用来做这件事的JavaScript代码。 – nanospeck 2014-01-08 06:55:37
@nanospeck:不幸的是,我不再有确切的代码。我想我也可能在胡须模板中使用了一些像https://github.com/crazy2be/wfdr-example/blob/master/shared/tmpl/base/chunks/menu这样的东西(例如在一个胡须模板中定义每个可能的值映射或结构并检查存在,而不是进行比较)。 – crazy2be 2014-01-12 21:21:10
从而忽略了<select>
元素没有一个value
属性。因此,您有一个选择<select>
而其<option>
元素都不具有selected
属性,这意味着将第一个<option>
作为默认选择。
阵营JS
某些编码实现,比如ReactJS允许您使用value
属性与<select>
标签所以这将是非常有效的代码:
<select value="2">
<option value="1">Something</option>
<option value="2">Something else</option>
</select>
HTML与属性最小化:
当然,通常你会想要指定状态值,所以临时它是可更新的。
但是,如果您使用的是纯HTML,你必须按如下方式使用selected
属性,为<option>
标签:
<select>
<option value="1">Something</option>
<option value="2" selected>Something else</option>
</select>
HTML与全属性规格:
上述用途属性的最小化,但你也可以指定完整的表格,如果你想:
<select>
<option value="1">Something</option>
<option value="2" selected="selected">Something else</option>
</select>
我知道这篇文章是相当古老的,但如果其他人正在努力与此,你可以实现你正在寻找使用jQuery的功能。
使用PHP的完整代码会是这样的
PHP
if ($_SERVER['REQUEST_METHOD']== "POST") {
$thing = $_POST['things'];
} else {
$thing ="";
}
HTML
<select name='things' value="<?php echo $thing; ?>">
<option value="1">Something</option>
<option value="2">Something else</option>
</select>
JQUERY
$(function() {
$("select[value]").each(function() {
$(this).val(this.getAttribute("value"));
});
}); //end document ready
这将允许用户选择的选项保持选中 在页面重新加载后,而不是返回 默认值。
Hrmph。这与所有其他表单元素的工作原理是相反的。 – crazy2be 2011-04-08 02:04:39
@crazy:它允许元素具有多个选定的值。 @doc:你对价值属性的理论是完全错误的。 – BalusC 2011-04-08 02:06:00
@BalusC。我同意。选择标记没有值选项。我编辑了我的答案。 – 2011-04-08 02:10:55