我正在建立一个网站,我遇到选择选项没有显示的问题,我不太确定发生了什么。
例如,我有这个页面:http://bit.ly/182gqK9
如果你点击“选择一个区域...”选择下拉列表,你会看到3个选项,第三个因为某种原因略微被切断(不知道为什么会这样),但是如果你查看源代码,那么显然有6种选择......
<select id="area" name="attribute_area">
<option value="">Choose an area...</option>
<option value="Area 2">PO1 - PO9</option>
<option value="Area 1">PO12 - PO17</option>
<option value="Area 2">SO14 - SO19</option>
<option value="Area 2">SO30</option>
<option value="Area 1">SO31</option>
</select>
我在FF中禁用了JavaScript,似乎解决了这个问题,但是如果我从页面中删除所有脚本,则问题仍然存在。
我在此页面上也有类似的奇怪问题:http://bit.ly/1aMTMJY
使用该页面,如果单击选择,它将显示4个选项,如果单击它并返回到它,它将显示5个选项。实际上还有6个选项。
答案 0 :(得分:1)
看起来您的JavaScript正在从select中动态删除选项。当我禁用JavaScript时,我会看到问题中显示的6个选项列表。当我启用JavaScript并检查HTML时,这就是我所看到的:
<select id="area" name="attribute_area">
<option value="">Choose an area...</option>
<option value="Area 2" class="active">PO1 - PO9</option>
<option value="Area 2" class="active">SO14 - SO19</option>
<option value="Area 2" class="active">SO30</option>
</select>
您是否有代码可以动态更新选项列表?
禁用JS修复问题的事实意味着JS必须导致问题。您说即使从页面中删除所有JS,您仍然会看到问题。如果在删除所有JS后,您还在浏览器中禁用了JS,会发生什么?
如果真正删除了所有JS,那么禁用它应该没有效果。另一方面,如果禁用它仍然可以解决问题,那么必须有JS仍然在某处 - 可能是因为JS正在被缓存。
你说你没有任何明确试图动态更新选项的代码,但也许有些代码无意中或间接地这样做了。