【发布时间】:2018-02-18 17:45:29
【问题描述】:
我在 html 表中嵌套了 foreach 循环:
@foreach ($getUsers as $key => $commits)
@foreach ($commits->getLinks as $key1 => $links)
<tr>
<td>
<input type="hidden" name="" id="applicant_id" value="{{$commits->id}}">
<td>
<tr>
@endforeach
@endforeach
接下来我有一个表单,我需要在上面的 foreach 循环中的隐藏字段中定义的行的id。
在表单下方我有另一个隐藏的输入字段,我在其中将 foreach 隐藏字段值推入表单隐藏字段值 但它总是只给出一个 id(每个表格行的 id 相同)。
用于从 foreach 隐藏输入到表单隐藏输入获取 id 的 Jquery:
$(document).ready(function(){
var applicant_id = $('#applicant_id').val();
$("#applicant").val(applicant_id);
})
表格
<form class="form-horizontal" method="POST" action="{{route('upload-agreement')}}" enctype="multipart/form-data">
{{csrf_field()}}
<input type="hidden" name="applicant" id="applicant" >
<input type="file" name="file" class="form-control" required="">
<button type="submit" class="btn btn-primary">Save changes</button>
</form>
问题:上面的方法总是给我同样的id。
【问题讨论】:
-
您使用的
$commits变量不会在内部循环中发生变化,这就是我认为的原因,并且您在 jquery 中使用始终返回相同值的字段的 id。 -
你试过这个吗:stackoverflow.com/a/46110516/2815635 正如我之前建议的那样?
-
您的页面上不能多次出现相同的
id属性,它必须是唯一的。您应该在循环中附加一个变量,以使其在整个页面中唯一 -
@SagarGautam 没有循环遍历所有
$commits,因为$commits具有getLinks的内部对象,例如$commits->getLinks。 -
@foreach ($commits->getLinks as $key1 => $links)表示$commits->id对于 n$links将始终相同。
标签: javascript php jquery laravel foreach