JSFiddle - React, Tailwind, and code Playground
HTML
<button id='btn'>Click here to expand dropdown</button>
<select id='sel'>
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
<option>item 4</option>
</select>
JavaScript
$(document).ready(function() {
$("#btn").click(function() {
// $("#sel").simulate('click');
openDropdown("sel");
});
});
//https://stackoverflow.com/a/10844589/7926961
function openDropdown(elementId) {
function down() {
var pos = $(this).offset(); // remember position
var len = $(this).find("option").length;
if(len > 20) {
len = 20;
}
$(this).css("position", "absolute");
$(this).css("zIndex", 9999);
$(this).offset(pos); // reset position
$(this).attr("size", len); // open dropdown
$(this).unbind("focus", down);
$(this).focus();
}
function up() {
$(this).css("position", "static");
$(this).attr("size", "1"); // close dropdown
$(this).unbind("change", up);
$(this).focus();
}
$("#" + elementId).focus(down).blur(up).focus();
}