【发布时间】:2016-05-19 10:33:52
【问题描述】:
我有一个这样的表格行
<tr class='template4'>
<td>
<textarea name='amendsInput[0][addInfo]' id="additionalInput" placeholder='Additional Information' class="form-control noresize"></textarea>
</td>
<td>
<input type="text" name='amendsInput[0][deliveryDate]' placeholder='Deployment Date' class="form-control amendsDate"/>
</td>
<td>
<div class="col-md-12 checkbox checkbox-danger">
<input type="checkbox" value='1' name="amendsInput[0][complete]" class="styled">
<label for="checkbox">
Complete
</label>
</div>
</td>
</tr>
我允许用户添加额外的表格行。当他们这样做时,每个 td 的名称都会增加 1。
在上面,我的一个 tds 是一个复选框。我本质上想为每个表格行获取一个真或假。在我的控制器中,我目前正在做
$campaignAmendsInput = Input::get('amendsInput');
dd($campaignAmendsInput);
如果我有两个表格行,并且只选中其中一个行中的复选框,则输出是这样的
array:3 [▼
0 => array:3 [▼
"addInfo" => "Checkbox Checked"
"deliveryDate" => "03-05-2016"
"complete" => ""
]
1 => array:2 [▼
"addInfo" => "Checkbox not checked"
"deliveryDate" => ""
]
]
所以在检查的地方,complete 被设置为一个空字符串,而不是 1。此外,在没有检查的地方,没有任何完整的元素(我真的希望将 complete 设置为 0)。
无论是否选中,如何让复选框传递 1 或 0?
谢谢
【问题讨论】:
-
amendsInput[0][complete] 的示例值是什么?如果未选中,通常复选框不会在表单中发送值
-
我在操作中添加了值。真的应该是真/假,但如果选中,它只会发送一个空字符串
-
你最好把 value 属性全部删除
标签: laravel checkbox laravel-5