我在表单中有2个复选框,我无法发布它们的值。 我已经尝试过了:
<div class="form-group col-md-4">
<label class="col-md-6" for="invoiced">
<input type="checkbox" id="invoiced" value="false" name="project[invoiced]">
Invoiced </label>
<label class="col-md-6" for="tobeinvoiced">
<input type="checkbox" id="tobeinvoiced" value="true" name="project[tobeinvoiced]" checked>
To be Invoiced </label>
</div>
使用此脚本更改2个复选框的值为true或false:
<script type="text/javascript">
$('#tobeinvoiced').change(function(){
cb = $(this);
cb.val(cb.prop('checked'));
});
$('#invoiced').change(function(){
cb = $(this);
cb.val(cb.prop('checked'));
});
</script>
但是当我提交时,传递的值被设置为null。
答案 0 :(得分:0)
试试这个
$project = $request->input('project');
$tobeinvoiced = $project['tobeinvoiced'];
基本上你使用的命名约定使它成为一个数组,你不能直接在laravel中的请求输入中调用数组
希望这有帮助。
答案 1 :(得分:0)
我找到了问题的解决方案,这是链接:Solution。
我的代码变成了:
<label class="col-md-6" for="invoiced">
<input type="checkbox" key="invoiced"/>
<input type="hidden" id="invoiced" value="0" name="project[invoiced]">
Invoiced </label>
<label class="col-md-6" for="tobeinvoiced">
<input type="checkbox" key="tobeinvoiced" checked/>
<input type="hidden" id="tobeinvoiced" value="1" name="project[tobeinvoiced]">
To be Invoiced </label>
使用此脚本:
$(document).ready(function () {
$('[key]').change(function () {
var key = $(this).attr('key');
$($('[name="project[' + key + ']"]')).val($(this).is(':checked') ? 'true' : 'false');
});
});