php - 如何在刀片模板中转换 ajax 响应并使用 for-each 循环?
问题描述
我有这个 ajax 响应我有点困惑如何将它转换为我的刀片模板中的 foreach 循环。我要做的是获取一个月中的天数,然后显示每个日期的复选框。
控制器:
public function days(Request $request){
$days=array();
$id = $request->input('months');
$month = $id;
$year = 2018;
for($d=1; $d<=31; $d++) {
$time=mktime(12, 0, 0, $month, $d, $year);
if(date('m', $time)==$month && date('w', $time)>0 && date('w', $time)<6) {
$days[]=date('Y-m-d H:i:s', $time);}}
return response()->json($days);}
阿贾克斯:
$(document).ready(function(){
$('.testing').on('change',function(){
var test=$(this).val();
$.ajax({
type:'get',
url:'/days',
data:{"months":test,"_token": "{{ csrf_token() }}"},
success: function(data){
$('#ajax_data').html(data);
}}); });});
刀
<select class="testing" name="test" id="test">
<option value="0" dissable="true" selected="true">Select</option>
<option value="1" >JAN</option>
<option value="2">FEB</option>
</select>@foreach($days as $day)<input type="checkbox" name="days[]" > @endforeach
解决方案
就像@boussadjra 说你应该删除foreach
<select class="testing" name="test" id="test">
<option value="0" dissable="true" selected="true">Select</option>
<option value="1" >JAN</option>
<option value="2">FEB</option>
<div id="days"></div>
$(document).ready(function(){
$('.testing').on('change',function(){
var test=$(this).val();
$.ajax({
type:'get',
url:'/days',
data:{"months":test,"_token": "{{ csrf_token() }}"},
success: function(data){
$("#days").empty();
$.each(data,function(index,value){
$("#days").append('<input type="checkbox" value="'+value+'" name="days[]" > '+value+'<br/>');
});
}
});
});
});
推荐阅读
- excel - 为什么 excel 公式没有从第一个条目开始水平拉入所有结果?
- javascript - 动态变量和内容 ejs
- c - 查找以数组中的字符开头的单词
- javascript - 如何在 vue.js 中获取 refs 数组?
- firebase - firebase 应用注册错误 => 找不到与包名称匹配的客户端
- arkit - 如何使用 ARMatteGenerator 将 CIFilter 添加到 MTLTexture?
- r - R:如何在 ggplot2 中允许轴刻度但不允许刻度线计数因方面而异?
- c# - 通过控制器操作填充下拉列表
- rust - Rust如何在某些结构的静态函数调用中解析类型注释
- html - 文本内容太长时列超过行宽