我正在使用Laravel 5开发一个HTML表单,它将二维数组作为输入。目的是存储一些联系人,并且JQuery可以动态地追加或删除每个联系人的输入字段。
我想使用空括号[],这样就不需要维护索引了。所以我尝试了2例HTML表单输入代码。以下是简化示例:
案例1:
Person 1:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">
Person 2:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">
但我使用die dump检查的数组,即dd($request->input('contacts'));
返回:
array:4 [
0 => array:1 ["surname" => "Some Value" ]
1 => array:1 ["first_name" => "Some Value" ]
2 => array:1 ["surname" => "Some Value" ]
3 => array:1 ["first_name" => "Some Value" ]
]
让我们忘记现在的复选框输入,因为它未检查时根本不返回任何内容。话虽如此,我已将其包含在此处,以防它成为问题的根源。
案例2
Person 1:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">
Person 2:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">
模具转储,即dd($request->input('contacts'));
返回以下:
array:2 [
"surname" => array:2 [
0 => "Some Value"
1 => "Some Value"
]
"first_name" => array:2 [
0 => "Some Value"
1 => "Some Value"
]
]
我想要什么
这给我们带来了问题。这是我期望的结果:
array:2 [
0 => array:2 [
"surname" => "Some Value"
"first_name" => "Some Value"
]
1 => array:2 [
"surname" => "Some Value"
"first_name" => "Some Value"
]
]
有没有办法做到这一点,如果是的话,我该如何实现呢?这是否意味着我必须保持一个索引?
答案 0 :(得分:0)
试试这个。
Person 1:
<input type="text" name="contacts[0][surname]">
<input type="text" name="contacts[0][first_name]">
<input type="checkbox" name="contacts[0][VIP]">
Person 2:
<input type="text" name="contacts[1][surname]">
<input type="text" name="contacts[1][first_name]">
<input type="checkbox" name="contacts[1][VIP]">