2016-08-30 38 views
1

选择下拉列表的值返回错误值,而option没有属性值selected的值为true为什么选择下拉菜单返回错误的值?

下面是chrome控制台的截图。

enter image description here

编辑1: what是选择下拉的javascript对象。

编辑2: 什么样子的屏幕 enter image description herewhat值最初没有选择。

+1

“what”在哪里?截图中的“选择”没有该名称。此外,您是否手动选择了该选项,并试图查看之后的值? – putvande

+0

我已更新我的问题。 –

+0

屏幕上显示什么?是否选择了任何选项? – devnull69

回答

2

即使没有选择attribute仍然可以选择property。 (HTML)属性与其相应的(Javascript)属性之间存在差异。

试试这个

What.options[17].selected 
true 

What.options[17].getAttribute("selected") 
null 

没有空条目的选择元素总是会有自动选择它的一个选项,即使你没有手动或通过代码做到这一点。在你的例子中,选项17已被选中,所以它将selected属性设置为true。对于非多值select,这将更改为所选选项的值。更改属性不是体现在HTML属性中。

浏览器将最初解析HTML。在解析任务期间,它将填充进程中找到的所有元素的DOM属性。但更改这些属性(手动或自动)不会更改HTML属性。