2012-10-26 1 views

Antwort

203

Verwenden Sie .val, um den Wert der ausgewählten Option abzurufen. Siehe unten,

$('select[name=selector]').val() 
+0

Dies war die einfachste Antwort. –

+2

Test durchführen: '$ ('select [Name = Selektor]'). Change (function() {alert ($ (this) .val());});' – KingRider

+2

Beachten Sie, dass wenn die ausgewählte Option keine hat 'value' Attribut angegeben, wird das Label (zB' ') zurückgegeben. Vielleicht nicht immer was du willst. In den meisten Anwendungen ist der Wert natürlich angegeben. – Czechnology

7

Sie müssen eine ID zu Ihrer Auswahl hinzufügen. Dann:
$('#selectorID').val()

+1

Sie müssen nicht die ID hinzufügen –

+0

Ich habe die ID hinzugefügt, habe nur vergessen, es hier hinzuzufügen. – n00b

+1

Was ich mit einer ID als Selektor gelesen habe, ist die schnellste Methode. – Marcus

20
$('select').change(function() { 
    console.log($(this).val()) 
});​ 

jsFiddle example

.val() den Wert erhalten.

4

Sie können jquery wie folgt verwenden

SCRIPT

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

FIDDLE ist here

0

Blick auf das Beispiel:

<select class="element select small" id="account_name" name="account_name"> 

     <option value="" selected="selected">Please Select</option>   
     <option value="paypal" >Paypal</option> 
     <option value="webmoney" >Webmoney</option> 

    </select> 

<script type="text/javascript"> 

     $(document).ready(function(){ 
      $('#account_name').change(function(){ 
       alert($(this).val());               
      }); 
     }); 
</script> 
91

Ich wollte nur meine Erfah teilen Erfahrung und mein Ruf sind nicht genug, um etwas zu sagen.

Für mich

$('#selectorId').val()

zurück null.

Ich hatte

$('#selectorId option:selected').val()

+1

War das Browser-spezifische Fall? Hat die neueste Version von Chrome dies nicht erlaubt, oder war es IE, der das nicht unterstützt hat? –

+1

Es war in der neuesten Version von Chrome. Vielleicht auch in Firefox, aber nicht sicher. –

+0

Nicht sicher warum '$ ('# selectorId Option: ausgewählt'). Val()' hat nicht für mich funktioniert. Stattdessen habe ich '$ ('select option: selected') verwendet. Val()' – Francisco

2

Für eine ausgewählte ähnliche

<select class="btn btn-info pull-right" id="list-name" style="width: auto;"> 
    <option id="0">CHOOSE AN OPTION</option> 
    <option id="127">John Doe</option> 
    <option id="129" selected>Jane Doe</option> 

verwenden ... Sie die ID auf diese Weise erhalten können:

$('#list-name option:selected').attr('id'); 

Oder Sie können Nutzen Sie stattdessen den Wert und erhalten Sie den einfachen Weg ...

<select class="btn btn-info pull-right" id="list-name" style="width: auto;"> 
    <option value="0">CHOOSE AN OPTION</option> 
    <option value="127">John Doe</option> 
    <option value="129" selected>Jane Doe</option> 

wie folgt aus:

$('#list-name').val(); 
2

Einer meiner Optionen keinen Wert hatte: <option>-----</option>. Ich habe versucht, if (!$(this).val()) { .. } zu verwenden, aber ich bekam seltsame Ergebnisse. Stellt sich heraus, wenn Sie kein value Attribut auf Ihrem <option> Element haben, gibt es den Text innerhalb von es statt einer leeren Zeichenfolge zurück. Wenn Sie nicht möchten, dass val() irgendetwas für Ihre Option zurückgibt, fügen Sie value="" hinzu.

2

Versuchen Sie folgendes:

$(document).ready(function(){ 
    var data= $('select').find('option:selected').val(); 
}); 

oder

var data= $('select').find('option:selected').text(); 
0
$('#selectorID').val(); 

ODER

$('select[name=selector]').val(); 

OR

$('.class_nam').val(); 
+0

@FarhadBagherlo "Keep typing" ist ** nicht ** ein nützlicher Kommentar bearbeiten! Fassen Sie Ihre Änderungen zusammen, damit die Leser der Bearbeitungshistorie verstehen, was Sie getan haben, ohne jeden geänderten Charakter zu überprüfen. Vielen Dank! – jpaugh

0

dieser Code Arbeit sehr gut für mich: dies den Wert der gewählten Option zurückzukehren. $ ('# select_id'). Find ('option: selected'). Val();

Verwandte Themen