我有一个收集乘客详细信息的表格。
它收集的字段有:
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:缺少;之前语句源文件:var乘客[i];
我如何解决这个问题,然后将其作为AJAX提交?我愿意把它改成数组或任何类似的东西
感谢
不能像这样声明数组:
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);
}
并不完全清楚您在这里想要完成什么,但至少语法对于创建数组来说是不正确的。
您必须定义一个变量,然后将passenger[i]
分配给它。
var vPassenger = passenger[i];
alert(vPassenger)
创建一个数组并将所有乘客推到它上面。
var passengers;
for (i = 0; i < num_travellers; i++)
{
passengers.push(passenger[i])
}