jquery - Laravel 为每个与 jquery
问题描述
我正在使用 Laravel 5.6,在我的控制器中,我从一个 api 中提取一些数据,这些数据存储在一个变量中并将其传递给视图。$orders 是变量。
在我看来,我有这段代码。
@foreach($orders as $order)
<tbody>
<tr>
<td>{{ \Carbon\Carbon::parse($order->created_at)->format('m/d/Y') }}</td>
<td>{{ $order->order_number }}</td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="printing" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="engraving1" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="engraving2" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="assembly" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="completed" value="0" /></td>
<td><button class="btn btn-info btn-fill btn-sm"><a href="orders/{{ $order->id }}" style="color: #FFFFFF">Details</a></button></td>
</tr>
<tr>
</tbody>
@endforeach
上面是一个 foreach 循环,它遍历每个订单并将其发布在我的视图中……有 200 个结果……很简单。但是在它下面使用 Jquery 我需要将详细信息存储到数据库中并运行更多操作。为了测试它如何与 Jquery 交互,我完成了以下代码。
$(document).on('change', '#printing', function() {
console.log({{ $order->order_number }});
});
我遇到的问题是 $order->order_number 只是 foreach 循环开始时加载的第一个数字。所以在这个例子中这个console.log是37311。我的问题是我怎么能做这个jquery调用:
$(document).on('change', '#printing', function() {
console.log({{ $order->order_number }});
});
我也试过这个使每个 id 都是唯一的:
id="printing{{ $order->order_number }}".
然后在jquery('#printing{{ $order->order_number }}')
中但是并没有解决它。等于 for each 中的每个订单号?
解决方案
我希望能正确理解这个问题。这是我会做的:
- 使用您的迭代器将 $order->order_number 存储到该复选框输入的数据属性中
- 使用类打印复选框
- 使用 jQuery 绑定这些动作
以下是适合这些编辑的代码修改
//edited jquery event binding to class and logging data-ordernumber
$(document).on('change', '.printing', function() {
console.log($(this).data("ordernumber"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
@foreach($orders as $order)
<tbody>
<tr>
<td>{{ \Carbon\Carbon::parse($order->created_at)->format('m/d/Y') }}</td>
<td>{{ $order->order_number }}</td>
<td><input type="checkbox" data-toggle="switch" data-ordernumber="{{ $order->order_number }}" class="ct-primary printing" id="printing" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="engraving1" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="engraving2" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="assembly" value="0" /></td>
<td><input type="checkbox" data-toggle="switch" class="ct-primary" id="completed" value="0" /></td>
<td><button class="btn btn-info btn-fill btn-sm"><a href="orders/{{ $order->id }}" style="color: #FFFFFF">Details</a></button></td>
</tr>
<tr>
</tbody>
@endforeach
显然 php 变量没有被处理,但我认为一个活生生的例子无论如何都是有用的。
推荐阅读
- android - UPI 深度链接付款被拒绝
- salesforce - Mule 4:Salesforce:未为此组织或合作伙伴启用 API
- azure-devops - 在舞台上添加条件以检查文件夹的更改
- node.js - Node Js Http请求响应Angular网站,
- reactjs - 键入'调度
>' 不可分配给类型 '(values?: string) => void' - logstash - Logstash grok 过滤器 - 字段值重复
- sql - SQL CASE WHEN 用于多列中的多个值
- ruby-on-rails - Heroku 错误:Errno::ENOENT:没有这样的文件或目录 - bs_fetch:open_current_file:open
- nginx - 两个上游,一个 http,另一个 https
- javascript - 如何配置 remark.js 来解析 Markdown 中嵌入的 HTML?