在jQuery中显示选择下拉列表?

可能重复:
如何以编程方式告诉HTML SELECT下拉(例如,由于鼠标hover)?

是否可以使用jQuery显示select元素的下拉列表?

我尝试使用$('#dropdown').click(); ,但它没有效果。

这是不可能的。 您只能实现自己的选择框,但这对可用性不利。

另一种方法是以编程方式更改选择框的size属性,但这不是你想要的。

我建议想一想为什么你需要这个以及是否会有更好的软件模式?

这是我的改编:

HTML

   

JavaScript的

 $('#btn').click(function(){ $('#test').attr('size', 5); }); $('#test').change(function() { $(this).attr('size', 1); }); 

这不会打开下拉列表,但它有点工作。

在这里演示。

不 – 你无法做到这一点。 当用户点击它时,它大致沿着按钮处于按下状态的相同行 – 用户设置值的“临时”操作。 你可以focus于它,但那就是它。

如果你真的想模拟这个,你可以玩一些CSS。 例如,您可以创建一个类似于下拉列表的列表,并根据用户点击的内容设置下拉值 – 类似于自动填充列表的外观。

如果要向用户显示所有值,可以始终将其更改为多行列表框。 您可以通过将size设置为任意值并在要隐藏时将其设置为1来执行此操作。 它并不完美,但它是另一种选择:

 $("#open").click(function(e){ e.preventDefault(); $("#myselect").attr("size",5); }); $("#myselect").click(function(){ $(this).attr("size",1); }); 

http://jsfiddle.net/jonathon/cr25U/