Tengo una lista de selección como la siguiente:
<select multiselect="false" name="some.name" size="1" id="queuePicklist" onchange="setQueue();" required="true"> <option id="selectOption" hidden="true" disabled="true" selected="true" value="" style="display: none">Select an option</option> <option value="1" label="Support">Support</option> <option value="2" label=" Team Sales">Team Sales</option> <option value="1" label="Individual Sales">Individual Sales</option> <option value="1" label="Billing">Billing</option> <option value="1" label="Other">Other</option> </select> Quiero saber si es posible que en la función setQueue() seleccione una de las opciones sin usar el valor. Entonces, en lugar de document.getElementById("queuePicklist").value = 'Support';
¿Puedo agregar un atributo de datos a las opciones y seleccionar la opción de esa manera para poder mantener los valores como están? Nota: como se ve en el ejemplo, cuatro de las opciones tienen el mismo valor.
Sé que puedo poner estos valores (1,2,1,1,1) en el atributo de datos y usar valores únicos en el campo 'valor' y ese fue mi primer enfoque, pero como estoy trabajando con un código heredado, eso el cambio hizo que otras partes de otros códigos se rompieran.
No estoy exactamente seguro de qué o cómo desea obtener una opción, pero puede acceder al texto de esta manera.
function setQueue() { var selectEle = document.getElementById("queuePicklist"); // .options returns an HTMLOptionsCollection object. // use the selectedIndex property to get the selected option, then // you can access the text or value. console.log(selectEle.options[selectEle.selectedIndex].text); } <select multiselect="false" name="some.name" size="1" id="queuePicklist" onchange="setQueue();" required="true"> <option id="selectOption" hidden="true" disabled="true" selected="true" value="" style="display: none">Select an option</option> <option value="1" label="Support">Support</option> <option value="2" label=" Team Sales">Team Sales</option> <option value="1" label="Individual Sales">Individual Sales</option> <option value="1" label="Billing">Billing</option> <option value="1" label="Other">Other</option> </select>