我有一张收集旅客详情的表格。
它收集的字段是:
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提交?我愿意把它改成数组或类似的任何东西。
由于
答案 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);
}
>