Ottieni il valore / testo selezionato da Seleziona su modifica

 -Select- Communication  

Ho bisogno di ottenere il valore dell’opzione selezionata in javascript: qualcuno sa come ottenere il valore o il testo selezionato, per favore spiega come scrivere una funzione per esso. Ho assegnato la funzione onchange () per selezionare quindi cosa devo fare dopo?

Utilizza JavaScript o jQuery per questo.

Utilizzando JavaScript

   

Usando jQuery

 $('#select_id').change(function(){ alert($(this).val()); }) 

Non c’è bisogno di una funzione di scambio. Puoi prendere il valore in una riga:

 document.getElementById("select_id").options[document.getElementById("select_id").selectedIndex].value; 

Oppure, dividerlo per una migliore leggibilità:

 var select_id = document.getElementById("select_id"); select_id.options[select_id.selectedIndex].value; 
   

Se stai cercando su google e non vuoi che il listener di eventi sia un attributo, usa:

 document.getElementById('select_id').addEventListener('change', function(){ this.value; }); 

Uso

 document.getElementById("select_id").selectedIndex 

O per ottenere il valore:

 document.getElementById("select_id").value 

Wow, non ci sono soluzioni davvero riutilizzabili tra le risposte. Voglio dire, un gestore di eventi standart dovrebbe ottenere solo un argomento di event e non deve usare affatto id .. Io userei:

 function handleSelectChange(event) { // if you want to support some really old IEs, add // event = event || window.event; var selectElement = event.target; var value = selectElement.value; // to support really old browsers, you may use // selectElement.value || selectElement.options[selectElement.selectedIndex].value; // like el Dude has suggested // do whatever you want with value } 

Puoi usare questo gestore con ciascuno – js in linea:

  

jQuery:

 jQuery('#select_id').on('change',handleSelectChange); 

o impostazione gestore JS vaniglia:

 var selector = document.getElementById("select_id"); selector.onchange = handleSelectChange; 

E non devi riscrivere questo per ogni elemento select che hai.

Esempio di snippet:

 function handleSelectChange(event) { var selectElement = event.target; var value = selectElement.value; alert(value); } 
  
   

nell’avviso vedrete il valore INT dell’indice selezionato, trattate la selezione come una matrice e otterrete il valore

 function test(){ var sel1 = document.getElementById("select_id"); var strUser1 = sel1.options[sel1.selectedIndex].value; console.log(strUser1); alert(strUser1); // Inorder to get the Test as value ie "Communication" var sel2 = document.getElementById("select_id"); var strUser2 = sel2.options[sel2.selectedIndex].text; console.log(strUser2); alert(strUser2); } 
  
 function test(){ var sel1 = document.getElementById("select_id"); var strUser1 = sel1.options[sel1.selectedIndex].value; console.log(strUser1); alert(strUser1); // Inorder to get the Test as value ie "Communication" var sel2 = document.getElementById("select_id"); var strUser2 = sel2.options[sel2.selectedIndex].text; console.log(strUser2); alert(strUser2); } 
  

Mi chiedo che tutti abbiano pubblicato informazioni su value e opzione di text per ottenere da e nessuna label suggerita.

Quindi suggerisco anche l’ label , supportata da tutti i browser

Per ottenere value (come gli altri hanno suggerito)

 function test(a) { var x = a.options[a.selectedIndex].value; alert(x); } 

Per ottenere il text option (es. Comunicazione o -Seleziona-)

 function test(a) { var x = a.options[a.selectedIndex].text; alert(x); } 

OR (nuovo suggerimento)

 function test(a) { var x = a.options[a.selectedIndex].label; alert(x); } 

HTML

  

Nota: in HTML sopra per il valore option 2, label restituirà newText anziché Communication

Anche

Nota: non è ansible impostare la proprietà dell’etichetta in Firefox (solo ritorno).

Questa è una vecchia domanda, ma non sono sicuro del motivo per cui la gente non ha suggerito di utilizzare l’object evento per recuperare le informazioni invece di cercare nuovamente nel DOM.

Basta passare attraverso l’object evento nella funzione onChange, vedere esempio seguente

function test() { console.log(event.srcElement.value); }

http://jsfiddle.net/Corsico/3yvh9wc6/5/

Potrebbe essere utile alle persone che stanno cercando questo oggi se questo non fosse un comportamento predefinito 7 anni fa

Ho provato a spiegare con il mio campione, ma spero che ti possa aiutare. Non hai bisogno di onchange = “test ()” Esegui snippet di codice per ottenere un risultato live.

 document.getElementById("cars").addEventListener("click", displayCar); function displayCar() { var selected_value = document.getElementById("cars").value; alert(selected_value); }