0

请访问http://jsfiddle.net/RZy4E/,为什么我在选择时在警报框中看不到选项值?

<script type="text/javascript">
$(document).ready(function(){

$("#filterCountry").change(function(){
    var parameters = $('#form_search').serialize();
    alert(parameters);
    /*$.ajax({
        url: 'ajax_profile.php',
        data: parameters,
        type: 'POST',
        success: function(data){
            $('#load_vids').html(data);
        }
    });*/
});

});
</script>

</head>

<body>

<form name="form_search" action="" method="post" enctype="multipart/form-data">
<div style="padding-bottom:6px;">
    Country:<br />
    <select id="filterCountry" name="filterCountry" style="background:#e5e5e5;border:solid 0 #bbb;font-size:11px;width:135px;height:18px;padding:2px;">
        <option value="all">All</option>
        <option value="FR">FRANCE</option>
        <option value="MY">MALAYSIA</option>
        <option value="NP">NEPAL</option>
    </select>
</div>
</form>

</body>
4

7 回答 7

4

你需要使用:

$('[name="form_search"]').serialize();

因为你name="form_search"没有给你的表格id="form_search"

如果您想直接获取表单的值,可以执行以下操作:

$('[name="form_search"]').find(':selected').val();

更新小提琴

于 2013-05-09T07:20:27.917 回答
3

您必须将id="form_search"属性添加到您的<form>.

于 2013-05-09T07:20:46.720 回答
2

尝试这个:

var selected = $(this).find('option:selected').val();
alert(selected);

在这里演示

于 2013-05-09T07:19:48.197 回答
0

导致您错过了添加id到表单

<form name="form_search" id="form_search" action="" method="post" enctype="multipart/form-data" >
                    //---^^^^^^^^^^^^^^^^---here

并且您正在使用 id 选择器序列化表单

于 2013-05-09T07:19:47.210 回答
0

您的代码中有一些错误。所以使用下面的代码来获取数据。

var parameters = $('form[name=form_search]').serialize();
alert(JSON.stringify(parameters));
于 2013-05-09T07:22:22.380 回答
0

请尝试喜欢

var parameters = $("option:selected", this).val();
alert(parameters);

更新的小提琴链接是http://jsfiddle.net/RZy4E/2/

于 2013-05-09T07:22:37.980 回答
0

要么给论坛的ID,比如

<form name="form_search" action="" method="post" id="form_search" enctype="multipart/form-data">

或使用表单名称检索,例如

var parameters = $('form[name="form_search"]').serialize();
alert(parameters);
于 2013-05-09T07:23:13.643 回答