11

このようなコードがある場合、jQueryでオプション選択ボックスの値を取得する方法、

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

on changeイベントをコーディングすると、

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

それは私media1media2、のmedia3代わりに、を与えます1, 2, 3

値1、2、3を取得する方法は?

4

8 に答える 8

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

これは、あなたが望むように動作するはずです。

于 2012-09-19T06:38:50.527 に答える
3

これを試して、

jQuery(document).ready(function() {

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

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

    });

});
于 2015-12-19T05:20:22.530 に答える
2

正常に動作するため、必ず最新のjqueryを使用してください

http://jsfiddle.net/Hayhv/

オプションの価値を与えることを確認してください

于 2012-09-19T06:31:19.050 に答える
1

このコードを使用してください:

$('#media').change(function(){
    alert($('#media :selected').val());// or $('#media').val();        
});​
于 2012-09-19T06:36:40.340 に答える
1

このようにidの代わりにクラスを使用してください..

<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;
    }); 
}); 
于 2012-09-19T07:08:45.757 に答える
0

私はあなたのコードをテストしましたが、ID #media が他のコントロールから繰り返されることを確認してください。その構成と最後に見つかったhtmlコントロールから値を取得するため

于 2012-09-19T06:39:41.480 に答える