JSFiddle - React, Tailwind, and code Playground
HTML
<select id="test" multiple="true">
<option value="1">Test One</option>
<option value="2">Test Two</option>
</select>
<button id="test1">Try "outdated"</button>
<button id="test2">Try "nice HTML5 one-liner"</button>
<button id="reset">Select none</button>
JavaScript
function outdated(id) {
let elt = document.getElementById(id);
if (elt.selectedIndex == -1)
return null;
return elt.options[elt.selectedIndex].text;
}
function nice_html5_one_liner(id) {
return document.getElementById(id).selectedOptions[0].text;
}
function call_wrapped(fn, id) {
try {
console.log(fn(id));
} catch (e) {
alert(e);
}
}
document.getElementById('test1').onclick = () => call_wrapped(outdated, 'test');
document.getElementById('test2').onclick = () => call_wrapped(nice_html5_one_liner, 'test');
document.getElementById('reset').onclick = () => document.getElementById('test').selectedIndex = -1;