2012-09-19 4 views
7

Come ottenere il valore dell'opzione casella di selezione in jQuery se ho il codice come questo,Come arrivare selezionare il valore dell'opzione di dialogo in jQuery

<select id='media' name='media'> 
    <option value='1'>media1</option> 
    <option value='2'>media2</option> 
    <option value='3'>media3</option> 
</select> 

Quando ho codice per l'evento di modifica,

$(document).ready(function() 
{ 
    $("#media").change(function() 
    { 
     var id=$(this).val(); 
     var dataString = 'id='+ id; 
     alert(id); return false; 
    }); 
}); 

mi dà media1, media2, media3 invece di 1, 2, 3

Come ottenere il valore 1, 2, 3?

+2

Il tuo codice dovrebbe funzionare così com'è. [E lo fa.] (Http://jsfiddle.net/nnnnnn/CFAca/) (Perché hai taggato la domanda con "jquery-ajax"? C'è più codice o contesto a questo che non mostri?) – nnnnnn

+0

Conferma, questo codice funziona come vuoi –

+0

Segnala questo link, [Opzione Jquery] (http://www.stoimen.com/blog/2010/06/22/jquery-get-the-selected-option-text/) – Nagaraj

risposta

2

assicurarsi di utilizzare ultima jquery perché il suo bel lavoro

http://jsfiddle.net/Hayhv/

verificarlo dare valore dell'opzione

1

uso di questo codice:

$('#media').change(function(){ 
    alert($('#media :selected').val());// or $('#media').val();   
});​ 
6
$('#media').change(function(){ 
alert($(this).val()); 
}); 

questo dovrebbe funzionare nel modo in cui vuoi dovrebbe

+1

Questo è essenzialmente ciò che l'OP ha già non è vero? (Tranne senza memorizzare il valore in una variabile prima di avvisarlo.) – nnnnnn

0

Ho testato il codice e il suo funzionamento ok per me assicuratevi che id #media si ripeta da un altro controllo. Perché la sua configurazione e ottenere valore dal controllo HTML ultimo ritrovamento

1

Uso classe invece di id come questo ..

<select class='media' name='media'> 
    <option value='1'>media1</option> 
    <option value='2'>media2</option> 
    <option value='3'>media3</option> 
</select> 

$(document).ready(function(){ 
    $(".media").live("change",function(){ 
     var id = $(this).val(); 
     var dataString = 'id='+ id; 
     alert(id); return false; 
    }); 
}); 
27
$("#id option:selected").val(); 

Qui id è l'ID di una casella di selezione. Sono sicuro che funzionerà al 100%.

Se si desidera utilizzare il testo selezionato questo:

$("#id option:selected").text(); 
+0

opzione: selezionata non è richiesta ... supporto jQuery ** $ ("# id"). Val() ** anche. – czjvic

2

ho fatto così,

<select id='coprede' name='cop_rede'> 
<option value='1'>Cop Rio de Janeiro</option> 
    <option value='2'>Cop Nordeste</option> 
    <option value='3'>Cop Vitoria</option> 
    <option value='4'>Cluster Norte</option> 
    <option value='5'>Cluster Centro Oeste</option> 
</select> 

all'interno dello script:

$(function(){ 

$('#coprede').change(function(){ 
    alert($('#coprede :selected').val()); 
    }); 
}); 
2

provare questo,

jQuery(document).ready(function() { 

    jQuery('#media').change(function(e) { 

     var id = $(this,':selected').val(); 
     alert(id); 

    }); 

});