How to open the select input using jquery
So I can see the options of the select element but I need to click on it. What if I want to use a function? When something happens this select element should be selected, means the list is open and I can see the options. I don't want the user to click on the select element, I want something else to open it.
What I've tried
$("select").select();
$("select").click();
$("select").focus();
There is a select element, usually if you want it to open (the drop down list), you click on it. What I want is to open it if I click on a DIV
or anything else. I want this drop down list to to open, without having the user clicking on the select element.
Solution 1:
This should work:
var element = $("select")[0], worked = false;
if (document.createEvent) { // all browsers
var e = document.createEvent("MouseEvents");
e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
worked = element.dispatchEvent(e);
} else if (element.fireEvent) { // ie
worked = element.fireEvent("onmousedown");
}
if (!worked) { // unknown browser / error
alert("It didn't worked in your browser.");
}
Example
Solution 2:
Just an update here as the accepted answer is correct but outdated and initMouseEvent
is soon to be deprecated. [See: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent]
Use the following instead: new MouseEvent
[See: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent]
Example code:
var el = $('select'); // grab the input (jQuery)
var event = new MouseEvent('mousedown'); // create the event listener
el.dispatchEvent(event); // attach the event listener to the element
Solution 3:
I dont think you can force the select box to drop down
using any code. But still you can change the selected option using the code. Pls see this
http://www.mredkj.com/tutorials/tutorial003.html