来自MDN:
defaultSelected - 可选
用于设置所选属性的布尔值 值,即这将是所选的默认值 在首次加载页面时的元素中。如果不是这样的话 如果指定,则使用默认值false。请注意,值为true 如果尚未选择,则不会将选项设置为选中。已选择 - 可选
一个布尔值,用于设置选项的选定状态; 默认值为false(未选中)。如果省略,即使 defaultSelected参数为true,未选中该选项。
这对我来说非常不清楚。 defaultSelected
确定是否"这将是选择的默认值",但是后面的一个句子说"如果尚未选择,则值为true不会将选项设置为选中&# 34 ;.所以...它没有设置它被选中?如果它已被选中,它只会将其设置为已选择?
selected
声称还设置了所选状态。如果省略,则无论defaultSelected
如何,都不会选择该选项。那么... defaultSelected
什么都不做?
这里发生了什么?
答案 0 :(得分:1)
defaultSelected
属性表示元素的初始(默认)选择状态,并与 selected HTML属性相对应。 selected
属性表示当前的选择状态,也就是用户实际在浏览器中看到的选择状态。
当用户选择一个选项时,仅selected
属性被更改,而该属性和defaultSelected
属性则保持不变(尽管它们仍然可以通过编程方式进行更改)。例如,您可以使用它来将某些设置重置为默认设置。
所以我会说您通常会使用其中一个
new Option(text, value, true, true)
或
new Option(text, value, false, false)
为第3个和第4个参数设置不同的值意味着您将创建一个选项,该选项是默认值,但当前未选择,反之亦然。
我也觉得文档很混乱,但我想是
defaultSelected-<...>请注意,如果尚未选择true,则不会将其设置为selected
仅仅表示-如果将defaultSelected
设置为true,并不意味着该选项将被实际选择,它只是将选项设置为默认的选定值。要选择它,您还必须设置selected
属性。
此外,当您在HTML中添加selected
属性时,相应的DOM元素会将defaultSelected
和selected
属性都设置为 true ,因此,和当前选择的值相同。
以下是有关DOM元素的属性和属性的相关问题的有用答案:https://stackoverflow.com/a/6004028/1630480
答案 1 :(得分:0)
在我看来 defaultSelected = true意味着代表用户做出决定。我注意到defaultSelected具有true设置的'option'在呈现的html中具有“selected”html属性,但它不是列表中的选定项。打败我为什么,但我理解它的意图。