Come cambio un’opzione HTML selezionata usando JavaScript?

Ho un menu di opzioni come questo:

Person1 Person2 Person3 Person4 Person5 Person6 Person7 Person8 Person9 Person10 Person11 Person12

E ora voglio cambiare l’opzione selezionata usando un href. Per esempio:

 change 

Ma voglio selezionare l’opzione con value=11 (Person1) , non Person12 .

Come cambio questo codice?

Modificare

 document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected' 

a

 document.getElementById('personlist').value=Person_ID; 

Ecco tutti gli strumenti come puro codice JavaScript per la gestione di Selectbox:

Aggiornato – 28 agosto-2018 | DEMO Fiddler

Codice JavaScript:

 /** * Empty Select Box * @param eid Element ID * @param value text * @param text text * @author Neeraj.Singh */ function emptySelectBoxById(eid, value, text) { document.getElementById(eid).innerHTML = ""; } /** * Reset Select Box * @param eid Element ID */ function resetSelectBoxById(eid) { document.getElementById(eid).options[0].selected = 'selected'; } /** * Set Select Box Selection By Index * @param eid Element ID * @param eindx Element Index */ function setSelectBoxByIndex(eid, eindx) { document.getElementById(eid).getElementsByTagName('option')[eindx].selected = 'selected'; //or document.getElementById(eid).options[eindx].selected = 'selected'; } /** * Set Select Box Selection By Value * @param eid Element ID * @param eval Element Index */ function setSelectBoxByValue(eid, eval) { document.getElementById(eid).value = eval; } /** * Set Select Box Selection By Text * @param eid Element ID * @param eval Element Index */ function setSelectBoxByText(eid, etxt) { var eid = document.getElementById(eid); for (var i = 0; i < eid.options.length; ++i) { if (eid.options[i].text === etxt) eid.options[i].selected = true; } } /** * Get Select Box Text By ID * @param eid Element ID * @return string */ function getSelectBoxText(eid) { return document.getElementById(eid).options[document.getElementById(eid).selectedIndex].text; } /** * Get Select Box Value By ID * @param eid Element ID * @return string */ function getSelectBoxValue(id) { return document.getElementById(id).options[document.getElementById(id).selectedIndex].value; } 

Credo che il post sul blog JavaScript Principianti: selezionare un’opzione di selezione per valore potrebbe aiutarti.

 change function selectItemByValue(elmnt, value){ for(var i=0; i < elmnt.options.length; i++) { if(elmnt.options[i].value === value) { elmnt.selectedIndex = i; break; } } } 

Puoi anche modificare l’attributo select.options.selectedIndex DOM in questo modo:

 function selectOption(index){ document.getElementById("select_id").options.selectedIndex = index; } 
 

mySelect.value = myValue

Basta fare mySelect.value = myValue dove myValue è uguale all’attributo value dell’opzione a cui vuoi impostarlo.

Un indice di array inizierà da 0. Se si desidera value = 11 (Person1), lo si otterrà con la posizione getElementsByTagName('option')[10].selected .