files/en-us/web/api/htmlselectelement/showpicker/index.md
{{ APIRef("HTML DOM") }}
The HTMLSelectElement.showPicker() method displays the browser picker for a select element.
This is the same picker that would normally be displayed when the element is selected, but can be triggered from a button press or other user interaction.
showPicker()
None.
None ({{jsxref("undefined")}}).
InvalidStateError {{domxref("DOMException")}}
NotAllowedError {{domxref("DOMException")}}
NotSupportedError {{domxref("DOMException")}}
SecurityError {{domxref("DOMException")}}
Transient user activation is required. The user has to interact with the page or a UI element in order for this feature to work.
The method is only allowed to be called in same-origin iframes; an exception is thrown if this is called in a cross-origin iframe.
The code below shows how to check if showPicker() is supported:
if ("showPicker" in HTMLSelectElement.prototype) {
// showPicker() is supported.
}
This example shows how to use a button to launch the picker for a <select> element with two options.
<p>
<select>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<button type="button">Show Picker</button>
</p>
The code gets the <button> and adds a listener for its click event.
The event handler gets the <select> element and calls showPicker() on it.
const button = document.querySelector("button");
button.addEventListener("click", (event) => {
const select = event.srcElement.previousElementSibling;
try {
select.showPicker();
} catch (error) {
window.alert(error);
}
});
{{Specifications}}
{{Compat}}