2015-05-25 12 views
5

ho una casella di selezione per la selezione di codice del paese: -selezionando il valore corretto da attributo

<div class="selectWrap"> 
    <select name="countryCode" id="countryCode"></select> 
</div> 

Essa viene popolata utilizzando JavaScript e ottiene opzioni come segue: -

<option data-phone-code="+91">91&nbsp(India)</option> 

Ora voglio selezionare il valore solo +91.

cercavo questo

var country = document.getElementById("countryCode"); 
var prefix = country.options[country.selectedIndex].value; 

Ma questo restituisce il valore completo con Paese.

Come posso ottenere questo risultato?

+0

bene si hanno alcun valore in modo che utilizza il testo. Aggiungi l'attributo value o usa l'attributo data. – epascarello

+1

La risposta di Donal lo fa per me. Grazie ! e sì ho cambiato il mio javascript in ccode.value = "+" + countries [i] .phoneCode; Ha funzionato anche :) –

+1

se la risposta di donal ha aiutato, è necessario contrassegnarlo come accettato. – Vignesh

risposta

6

Usa getAttribute, ad esempio:

country.options[country.selectedIndex].getAttribute('data-phone-code'); 
+1

Funziona solo senza l'aggiunta .value perché se si aggiunge .valore restituisce un valore non definito – speedDeveloper

+2

@speedDeveloper Sì, 'getAttribute' restituisce il valore dell'attributo, quindi non è necessario chiamare' .value'. – Donal

Problemi correlati