jQuery for循环,AJAX调用

时间:2016-01-05 15:30:31

标签: php jquery ajax

我有一张收集旅客详情的表格。

它收集的字段是:

passenger-firstname 
passenger-surname   
passenger-address1  
passenger-address2  
passenger-town
passenger-passportnumber

在每位乘客之后我添加一个号码(取决于所选的)

所以这些项目看起来像是:

passenger1-firstname    
passenger1-surname  
passenger1-address1 
passenger1-address2 
passenger1-town
passenger1-passportnumber

passenger2-firstname    
passenger2-surname  
passenger2-address1 
passenger2-address2 
passenger2-town
passenger2-passportnumber

此数字的变化取决于已选择的数量

我想做的事情(在表单提交上)是遍历乘客变量并将它们发送到AJAX调用,然后我将存储在PHP会话中。

var num_travellers = $('.num_travellers').val();

// For loop through travellers
for (i = 0; i < num_travellers; i++)
{
   var passenger_firstname[i] = $('.passenger[i]-firstname').val();
   alert(passenger_firstname);
}

但是,当我这样做时,我收到错误消息

  

SyntaxError:missing;之前   声明源文件:   var passenger [i];

如何解决此问题,然后将其作为AJAX提交?我愿意把它改成数组或类似的任何东西。

由于

2 个答案:

答案 0 :(得分:1)

您必须定义一个变量,然后为其分配passenger[i]

var vPassenger = passenger[i];
alert(vPassenger)

创建一个阵列并将所有乘客推向它。

var passengers;
for (i = 0; i < num_travellers; i++)
{
 passengers.push(passenger[i])
}

答案 1 :(得分:1)

您无法声明如下数组:

var passenger[i];

声明一个变量:

var passenger;

或声明一个数组:

var passengers = [];

也许你的意思是在循环外声明数组并在循环中推送它?像这样的东西?:

var passengers = [];
for (i = 0; i < num_travellers; i++)
{
    var passenger;
    alert(passenger); // doesn't make sense, it's undefined at this time

    // set the value to something here?  perhaps this?:
    passenger = {
        firstname: 'some value',
        surname: 'another value',
        etc: 'more values'
    };

    passengers.push(passenger);
}

>