jQuery打开选择按钮
如何按按钮打开选择下拉列表?
$('button').on('click', function() { $('select').trigger('click'); });
我的代码: http : //jsfiddle.net/UGkWp/
更新:
我找到了webkit浏览器的解决方案,但只有这些浏览器: http : //jsfiddle.net/UGkWp/2/也许你知道在每个浏览器中这是怎么做的?
(function($) { "use strict"; $.fn.openSelect = function() { return this.each(function(idx,domEl) { if (document.createEvent) { var event = document.createEvent("MouseEvents"); event.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); domEl.dispatchEvent(event); } else if (element.fireEvent) { domEl.fireEvent("onmousedown"); } }); } }(jQuery)); $('#country').openSelect();
你可以用这样的CSS做到这一点:
访问此小提琴了解更多详情: https : //jsfiddle.net/ssjuma/1mkxw2nb/1/
我想你应该看看这个页面:
我可以使用jQuery打开下拉列表吗?
似乎不可能直接执行此操作,但存在模拟您要执行的操作的工具。
一个简单的解决方案是使用jquery的“选择”-plugin: http ://harvesthq.github.io/chosen/
这也为您提供了一些优于普通选择的优点,并且易于使用。
在此,您可以简单地触发“mousedown”事件,如下所示:
$('#dropdown_id_chzn').trigger('mousedown')
鉴于您已在页面上选择(和jquery),以下代码应该可以解决问题:
HTML:
JavaScript的:
$('select[name="foo"]').chosen(); $('#foo_chzn').trigger('mousedown');
请注意,selected会自动将“_chzn”附加到您的下拉列表名称,这是您应该在选择器中使用的名称
这对我有用
$( ‘选择’)专注()。
希望这个帮助
$("button").click(function () { var size = $('#s option').size(); if (size != $("#s").prop('size')) { $("#s").prop('size', size); } else { $("#s").prop('size', 1); } })
我想这会对你有所帮助..
Trigger documentation
$('button').on('click', function() { $('select').trigger('click'); }); $('select').click(function(){ alert($(this).val()); });
Here
小提琴