Php 在同一刀片中传递单击按钮的值-laravel

Php 在同一刀片中传递单击按钮的值-laravel,php,laravel,Php,Laravel,我将以下变量传递给blade: @foreach($stampreq as $stampreq) <a href="" class="stamp_acc">Accept</a> @foreach($stampreq作为$stampreq) 单击上述按钮时,将运行jquery代码以打开模式: <div class="modal fade" tabindex="-1" role="dialog" id="stamp_fb"> 单击按钮时,我想将以下id传

我将以下变量传递给blade:

@foreach($stampreq as $stampreq)
<a href="" class="stamp_acc">Accept</a>
@foreach($stampreq作为$stampreq)
单击上述按钮时,将运行jquery代码以打开模式:

<div class="modal fade" tabindex="-1" role="dialog" id="stamp_fb">

单击按钮时,我想将以下id传递给Ajax:

<input type = "hidden" name = "pstusrId"  id="pstusrId" value="{{ $stampreq->id }}">

我收到一个错误“试图获取非对象的属性”,因为$stampreq是一个数组(有多条记录)。 如何将单击按钮的
$stampreq->id
传递给要发送到AJAX的
标记?

您将收到错误“尝试获取非对象的属性”,因为您在foreach方法中的集合和单个循环变量(
$stampreq
)之间使用了相同的名称,输入中的值可能从集合/数组中提取。因此,它看到的不是循环变量,而是数组

要修复此问题,请将变量更改为其他变量(数组或循环变量):


我将单个$stampreq更改为$stampreq1,但现在我收到了(未定义的变量:stampreq1)。隐藏标记是否必须位于@foreach循环内?如果您想知道单击了哪个
$stampreq
,则可以。未定义var的原因可能是foreach和输入区域不匹配。因此,请检查以下内容:1)
@foreach($stampreq)
2)您的控制器将`$mulral`命名为
$mulral
,否则您将得到未定义的变量。或者,如果您命名第二个变量,即循环变量,则在调用
->id
时,您必须在输入中匹配新名称,因此我将在循环中放置一个输入标记,另一个通常在模式HTML中,对吗?嗯。。。两件不同的事情。在AJAX调用中,您需要知道
$stampreqLoop
的ID。在AJAX中,您将拥有类似于
var id=$(this).data('stampId')
的内容,然后将其发送回控制器,以便控制器可以将正确的
$stampreq
发送回您的服务器。AJAX的模式中有
$stampreq
变量,因此不需要输入。虽然这不是最初的问题(我想我们已经解决了),但我建议您将输入从
更改为按钮-让我再次编辑:)
@foreach($stampreq as $stampreq)
@foreach($stampreqSomethingPlural as $stampreq)
@foreach($stempreq as $stampreqLoop)
  <button class="stamp_acc" value="{{ $stampreqLoop->id }}" data-id="{{ $stampreqLoop->id }}">Accept</button>
 <input type = "hidden" name = "pstusrId"  id="pstusrId" value="{{ $stampreqLoop->id }}" data="{{ $stampreqLooop->id }}">