2012-04-05 11 views
5

Ich habe den folgenden CodejQuery Änderungswert der Auswahlliste

<select id="practice_id" name="practice" column="practice" style="width: 200px"> 
<option value="">Default</option> 
<option value="1">Test 1</option> 
<option value="2">Test 2</option> 
<option value="3">Test 3</option> 
............... 
</select> 

Was ich brauche, zu tun ist, um den Wert des ausgewählten Elements zu einem auf einer Query-String-Nummer basiert zu ändern (ich diesen Wert bekommen ok)

Ich versuche, den Wert mit jQuery zu ändern, aber nichts, was ich versucht habe, scheint zu funktionieren.

$('#practice_id').val('QUERY_STRING_NUMBER'); 

Dies scheint nicht zu funktionieren, da der Wert sich nicht ändert.

Ich bekomme hier etwas falsch?

Dank

+0

wahrscheinlich können Sie die aktuell ausgewählte Option entfernen und ersetzen Sie es mit einem

+0

@ DG3 Oder einfach [ändern Sie den Wert] (http://stackoverflow.com/questions/10032142/jquery-change-value-of-select-list/10032258#answer-10032258) :-) – PeeHaa

Antwort

8

Sie benötigen das option Element und nicht das select Element wählen:

(function($) { 
    $('#practice_id').change(function() { 
     var val = $(this).val(); 
     alert(val); 
     $('option[value=' + val + ']', this).val('changed'); 
    }); 
})(jQuery); 

http://jsfiddle.net/PeeHaa/6yre7/

0

$('#practice_id').val('QUERY_STRING_NUMBER');

Dies wird den Wert der Drop-Down-Einstellung nicht "Ändern", um den Wert unterstreicht Option.

$(document).ready(function() { $("#practice_id").children().val("-99"); });

Dies wird den Wert auf -99 auf alle Options-Tags ändern.

http://jsfiddle.net/MejLX/1/

Hinweis: Ja, Sie können dies tun, über jQuery. Auf der Grundlage der meisten gängigen Alltagsszenarien würde ich jedoch meinen, dass Ihr serverseitiges Skript/Seite den richtigen Wert generiert.

+0

Gibt es einen Weg zu Optionswert ändern? –

+0

Sorry über die Updates, da etwas Seltsames mit der Bearbeitung vor sich ging. –

Verwandte Themen