Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择带有空选项的框,该选项在html dom中不存在_Html_Html Select - Fatal编程技术网

选择带有空选项的框,该选项在html dom中不存在

选择带有空选项的框,该选项在html dom中不存在,html,html-select,Html,Html Select,在这个网站上:(如果你点击顶部横幅*中的“更改”),选择元素以一个空选项开始。HTML如下所示: <select id="cc-preference-selector-analytics"> <option value="yes">I accept</option> <option value="no">I do not accept</option> </select> 我接受 我不接受 这里是jsf

在这个网站上:(如果你点击顶部横幅*中的“更改”),选择元素以一个空选项开始。HTML如下所示:

<select id="cc-preference-selector-analytics">
    <option value="yes">I accept</option>
    <option value="no">I do not accept</option>
</select>

我接受
我不接受
这里是jsfiddle:-中相同的select元素,它显示了第一个选项。为什么会这样

谢谢


**如果在浏览器中启用了“发送不跟踪标题”,则不会看到标题。如果用户启用了此功能,则不会显示cookie同意横幅。IE10默认启用了它。横幅看起来像这样(页面顶部):*

您没有设置默认选项,因此它显示为空

如果希望默认选择为“我接受”,请按以下方式操作:-

<select id="cc-preference-selector-analytics">
    <option value="yes" selected="selected">I accept</option>
    <option value="no">I do not accept</option>
</select> 

我接受
我不接受
更新:
大多数情况下,这是一种浏览器行为,我认为您的javascript也可能导致此问题。

您没有设置默认选项,因此它显示为空

如果希望默认选择为“我接受”,请按以下方式操作:-

<select id="cc-preference-selector-analytics">
    <option value="yes" selected="selected">I accept</option>
    <option value="no">I do not accept</option>
</select> 

我接受
我不接受
更新:
大多数情况下,这是一种浏览器行为,而且我认为您的javascript也可能导致此问题。

抱歉,但顶部横幅中的“更改”选项在哪里,我找不到它:p。可能执行了一些脚本来添加空选项?如果您的浏览器中启用了“发送不跟踪标题”,您将看不到横幅。如果用户启用了此功能,则不会显示cookie同意横幅。IE10默认启用了它。啊,好的,谢谢,很高兴知道:)我可能看到了你所说的“顶部横幅”,但它没有“更改”元素,HTML(甚至生成的HTML)也不包含任何
select
元素。好的,现在我看到了大量微小文本的更改,单击它会创建一个弹出式对话框。这是可用性的噩梦,也是可访问性的噩梦。我建议您重新设计整个allow/disallow cookie业务,或者忽略它,而不是尝试修复代码。抱歉,但顶部横幅中的“change”(更改)选项在哪里,我找不到它:P.可能执行了一些脚本来添加空选项?如果您的浏览器中启用了“Send do not track headers”(发送不跟踪标题),您将看不到横幅。如果用户启用了此功能,则不会显示cookie同意横幅。IE10默认启用了它。啊,好的,谢谢,很高兴知道:)我可能看到了你所说的“顶部横幅”,但它没有“更改”元素,HTML(甚至生成的HTML)也不包含任何
select
元素。好的,现在我看到了大量微小文本的更改,单击它会创建一个弹出式对话框。这是可用性的噩梦,也是可访问性的噩梦。我建议您重新设计整个allow/disallow cookie业务或忽略它,而不是试图修复代码。仅供参考:在XHTML/HTML5中,禁止属性最小化,并且所选的
属性必须定义为
。谢谢但下面是代码相同的JSFIDLE,它显示了第一个选项。为什么会发生这种情况?您必须添加selected=“selected”属性,正如Siva Charan所说,Alfie correted:)。此外,这可能是特定于浏览器的,我在firefox中获得的第一个值也没有Seletd属性。我能看到的唯一区别是,消息似乎是用javascript添加的(可能因此行为不同?),而不是加载到html文档本身。Samurai8,这里:使用相同的js,为选择框生成相同的html,但结果不同-没有空选项。仅供参考:在XHTML/HTML5中,禁止属性最小化,并且所选的
属性必须定义为
。谢谢但下面是代码相同的JSFIDLE,它显示了第一个选项。为什么会发生这种情况?您必须添加selected=“selected”属性,正如Siva Charan所说,Alfie correted:)。此外,这可能是特定于浏览器的,我在firefox中获得的第一个值也没有Seletd属性。我能看到的唯一区别是,消息似乎是用javascript添加的(可能因此行为不同?),而不是加载到html文档本身。Samurai8,这里:使用相同的js,为选择框生成相同的html,但结果不同-并没有空选项。