【发布时间】:2022-01-02 04:01:17
【问题描述】:
当我尝试获取动态输入标记的值并执行 jquery 函数时,我不仅没有得到输入的数字字符串值,而且一直得到一个
Undefined offset: -1 error in Laravel
这里是有问题的代码:
foreach ($rates as $rate) {
}
echo "\n";
// This would be the index of the rate selected by the user
$selected_rate_index = count($rates) - 1;
// After the user has selected a rate, use the corresponding object_id
$selected_rate = $rates[$selected_rate_index];
$selected_rate_object_id = $selected_rate['object_id'];
这是我在 laravel 刀片中的 foreach 循环:
@foreach ($rates as $key => $rate)
{{ $loop->index }}
@if ($loop->first)
<tr>
<td>
<img src="{{ $rate->provider_image_75 }}" alt="">
{{ $rate->provider }} ({{ $rate->duration_terms }})
</td>
<td width="20%">
<input type="radio" class="pull-right rate-value" name="rate" value="{{ $rate->object_id }}">
${{ $rate->amount }} <span> <button type="submit" class="yena-btn btn yena-btn_lg btn-danger"> Add This Rate </button> </span>
</td>
</tr>
@elseif ($loop->iteration == 2)
<tr>
<td>
<img src="{{ $rate->provider_image_75 }}" alt="">
{{ $rate->provider }} ({{ $rate->duration_terms }})
</td>
<td width="20%">
<input type="radio" class="pull-right rate-value" name="rate" value="{{ $rate->object_id }}">
${{ $rate->amount }} <span> <button type="submit" class="yena-btn btn yena-btn_lg btn-danger"> Add This Rate </button> </span>
</td>
</tr>
@elseif($loop->last)
<tr>
<td>
<img src="{{ $rate->provider_image_75 }}" alt="">
{{ $rate->provider }} ({{ $rate->duration_terms }})
</td>
<td width="20%">
<input type="radio" class="pull-right rate-value" name="rate" value="{{ $rate->object_id }}">
${{ $rate->amount }} <span> <button type="submit" class="yena-btn btn yena-btn_lg btn-danger"> Add This Rate </button> </span>
</td>
</tr>
@endif
@endforeach
最后,这是我的 jquery 函数代码
<script type="text/javascript">
$("button").click(function(){
var val = $("input[name='rate']:checked").val();
alert(val);
});
</script>
有人知道是什么触发了未定义的错误以及为什么我无法获得输入的实际数字字符串值吗?输入标签的警报值是这样的
14b35c21512c4f1b9a04e9efec1d7429
当它应该读取类似的运费时
$8.73
【问题讨论】:
-
如果
$rates为空怎么办?那么count($rates)为0,因此count($rates) - 1为-1,您在下一行访问$rates[-1]。 -
通过模具转储,我可以验证费率确实是空的。不确定我是否遵循您的解决方案。当我尝试将其调整为 [-1] 时,它会触发相同的错误。不知道如何修复它,考虑到我的刀片文件中确实显示了费率,但是当我尝试提交它时,它会引发错误。
-
这不是一个解决方案-我只是指出了为什么会出现此错误,因为您询问了为什么会收到
Undefined offset: -1而不是为什么您的费率是空数组,所以我认为您没有到那里去。 -
此时我不知道为什么数组是空的。
标签: javascript php jquery ajax laravel-8