使用PHP和JQuery序列化和参数返回问题

使用PHP和JQuery序列化和参数返回问题,php,jquery,parameters,Php,Jquery,Parameters,我有以下代码: var data_str = $('form').serialize(); alert(data_str); $("#SerializeTXT").text(data_str).show(); $.ajax( { type: 'POST', url: 'test.php', data: data_str, success: function(data) { $(

我有以下代码:

    var data_str = $('form').serialize();
    alert(data_str);
    $("#SerializeTXT").text(data_str).show();
    $.ajax( {
        type: 'POST',
        url: 'test.php',
        data: data_str,
        success: function(data) {
            $('#result').html(data);
        }           
   });
下面是我的test.php和结果:

<?php print_r($_POST);?>
在我得到的那份工作中

itemIDhidden=2640&SelectQt=1&Bread=Black+Bread_0&Cheese=American_0&Toppings=Sauteed+Mushrooms_0&Toppings=Fried+Onions_0&Toppings=Bacon_0&Description=TWSTE+3+45+T4
您可以看到post只获取多个选定元素的最后一个元素。在SerializeTXT div中,我得到了从表单中选择的内容

有什么想法吗?我如何获得php文件中的所有这些参数


提前谢谢。

将您的
选择
元素名称从
Toppings
更改为
Toppings[]

<select name="Toppings" ...

选择的
元素名称从
Toppings
更改为
Toppings[]

<select name="Toppings" ...

test.php
打印(邮政美元);返回

数组([itemIDhidden]=>2643[SelectQt]=>1[Bread]=>Multi-Grain Bun\u 0[奶酪]=>American\u 0,Swiss\u 0[配料]=>Fried Onions\u 0,Bacon\u 0,Raw Onion\u 0[说明]=>测试[CancelItemForm]=>Cancel[BasketItem]=>确认)

这个数组可以在PHP文件中轻松操作。我希望这对外面的一些人有所帮助

test.php 打印(邮政美元);返回

数组([itemIDhidden]=>2643[SelectQt]=>1[Bread]=>Multi-Grain Bun\u 0[奶酪]=>American\u 0,Swiss\u 0[配料]=>Fried Onions\u 0,Bacon\u 0,Raw Onion\u 0[说明]=>测试[CancelItemForm]=>Cancel[BasketItem]=>确认)


这个数组可以在PHP文件中轻松操作。我希望这有助于外部的一些人

谢谢你的回答,但是那些选择字段是由代码创建的,我不知道它们的名称。另外,它也不起作用。@Obichamte2如果代码在名称中未使用
[]
而生成了多重选择,则代码是错误的。感谢您的回答,但这些选择字段是由代码创建的,我不知道它们的名称。此外,它也不起作用。@Obichamte2如果代码在名称中未使用
[]
而生成了一个多选,则代码是错误的。
<select name="Toppings[]" ...
    var form = $('form');
    var data_str = '';
    form.find('input, select, textarea').each(function()
        {
            data_str += $(this).attr('name')+'='+$(this).val()+'&';
        });
    $.ajax( {
        type: 'POST',
        url: 'test.php',
        data: data_str,
        success: function(data) {
            $('#result').html(data);
        }           
   });
    };