2012-04-05 15 views
5

私は私がする必要がどのような次のコードjQueryの変更値

<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> 

を持って、(私は、この値を得ることができ、クエリ文字列の数に基づいて、一つに選択した項目の値を変更することですok)

jQueryを使用して値を変更しようとしていますが、何も試したことがないようです。

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

値が変更されないため、これは機能していないようです。

ここで何か問題がありますか?

おかげ

+0

はおそらくあなたが現在選択されているオプションを削除し、<オプション値=「QUERY_STRING_NUMBER」>に置き換えることができますか? – DG3

+0

@ DG3またはちょうど[値を変更](http://stackoverflow.com/questions/10032142/jquery-change-value-of-select-list/10032258#answer-10032258):-) – PeeHaa

答えて

8
あなたが option要素とない select要素を選択する必要があり

(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');

これは、下線オプション値を「変更しない」、ドロップダウンリストの値を設定しています。

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

これはオプションタグの全てに-99に値を変更します。

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

注:はい、あなたはjQueryの経由でこれを行うことができます。しかし、ほとんどの日常的なシナリオに基づいて、私はあなたのサーバー側スクリプト/ページが正しい値を生成していると思います。

+0

方法はありますか?オプション値を変更しますか? –

+0

奇妙なことが編集中に起こっていたので、更新についてお詫び申し上げます。 –