我有一个非常简单的选择下拉菜单。在Chrome中,它不会下降。代码本身工作正常,下拉工作在Safari中,但由于某种原因它不会在Chrome中打开。这是HTML:
<select name="pellet_credit" class="item_discount">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
应该很简单。这是一个下拉菜单...这是选择的选定屏幕截图,但不是打开的:
---编辑---
这是一个包含完整源代码的jsfiddle。下拉列表在jsfiddle视图中适用于我,但不适用于实际站点。
---编辑---
页面上的其他下拉工作正常。
答案 0 :(得分:6)
验证您的HTML以确保没有无关的结束/结束标记。确保你没有通过CSS隐藏选项。
答案 1 :(得分:3)
我遇到了与Firefox和Chrome相同的问题,并且由于表单的z-index
为-1
。
更改z-index
后,工作正常。
答案 2 :(得分:2)
当我在jQuery .sortable()元素中放置<select>
时,发生了这种情况。我在jQuery网站上复制了这段代码,并且.disableSelection()方法调用杀死了我的<select>
。
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
});
一旦我删除.disableSelection();
(奇怪的是他们已经弃用了......)一切正常。
答案 3 :(得分:0)
我认为您应该为您的选项设置一个值
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
您可以阅读更多here
答案 4 :(得分:0)
我正在添加一个答案,只是为了在所选答案中调出@Agos的评论。检查您是否有可能从下拉列表中窃取事件的事件处理代码(mousedown,click等)。
答案 5 :(得分:0)
最终发生在我身上的是导致我出现在这个页面上的是显示设置为display:none;关于选项元素
溶液:
$(yourdropdown)。儿童()显示();
答案 6 :(得分:0)
问题在于我在id
声明中包含了类名。
对于未来的受众,请特别注意您的select元素是否与周围的表单样式不一致。这可能是一个类没有被正确应用的线索,你可能不小心把它放在错误的位置。
答案 7 :(得分:0)
要调试此类问题,请尝试从html中删除所有属性,然后一次添加一个属性,以找出导致问题的原因。 例如,下面的代码片段无法根据需要运行。
<select size="10">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
删除size属性即可解决
<select >
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
答案 8 :(得分:-1)
当我们开发具有列表框的客户端/服务器编程语言时,我们遇到了一个棘手的问题。尽管INPUT工作,但列表框却没有。我们对它进行了鼠标跟踪,并且默认启用了$(window).mousedown ...错误。
我们能够通过此页面跟踪问题:https://hackernoon.com/finding-that-pesky-listener-thats-hijacking-your-event-javascript-b590593f2a83
以防上述页面消失:
在Chrome中(可能还有其他Chromium风味[也适用于Opera]):
我们所做的是在代码中将'return false'更改为'return true'。