嗨,可以从控制器传递变量到JS脚本。我必须在用户加入活动时更改颜色事件。
我需要将变量$ colorrr传递给我的js因为我使用fullcalendar有选项eventColor:我想从控制器发送变量$ colorrr。 现在我只检查数据透视表中是否存在事件。它的工作,我的问题是我不知道如何将变量传递给选项eventColor
控制器:
public function index()
{
$eventscolo=DB::table('save_events')->select('events_id')->get();
$eventsss=DB::table('events')->select('id','title')->get();
foreach ($eventsss as $eventss)
{
if(DB::table('save_events')->where('events_id','=',$eventss->id)->exists())
{
$colorrr = 'grey';
}
else
{
if ($eventss->title=="Wydzial 1")
{
$colorrr = 'red';
}
elseif($eventss->title == "Wydzial 2")
{
$colorrr = 'blue';
}
elseif ($eventss->title == "Wydzial 3")
{
$colorrr = 'green';
}
elseif ($eventss->title == "Wydzial 4")
{
$colorrr = 'yellow';
}
}
}
return view('home',['eventscolo'=>$eventscolo,'eventsss'=>$eventsss,'colorrr'=>$colorrr]);
JS脚本:
<script src="{{ asset('js/fullcalendar') }}/fullcalendar.js"></script>
<script src="{{ asset('js/bootstrap.js') }}"></script>
<script type="text/javascript">
$(document).ready(function() {
var base_url = '{{ url('/') }}';
$('#bootstrapModalFullCalendar').fullCalendar({
weekends: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek'
},
eventClick: function(event, jsEvent, view) {
$('#modalTitle').html(event.title);
$('#modalBody').html(event.name);
$('#eventUrl').attr('href','/home/zapis/'+event.id);
$("#startTime").html(moment(event.start).format('HH:mm '));
if (event.end) $("#endTime").html(moment(event.end).format('HH:mm '));
else $("#endTime").html('');
$('#fullCalModal').modal();
return false;
},
eventLimit: true, // allow "more" link when too many events
FirstDay: 1,
contentheight : 650,
editable : true,
allDay : false,
aspectRatio : 2,
slotLabelFormat : 'HH:mm:ss',
timeFormat : 'HH:mm',
displayEventEnd : true,
events: {
url: base_url + '/api',
error: function() {
alert("cannot load json");
}
},
eventColor: 'colorrr',
});
});
</script>
答案 0 :(得分:1)
控制器(传递值如下图所示)
//..........................
//............................
$data['myVal'] = "abc";
return view('myViewPage',['data'=>$data]);
刀片-myViewPage(JS)
<script>
//Global variable on you blade
var url = "{{url('/manufacturers-json')}}";
var custom_val = "{{$data['myVal']}}"; //What ever you are getting from controller ($colorr)
</script>
然后你可以将这个JS变量用到你的JS中。我正在使用 angularJS。这样做 如果您的情况不适用,请尝试创建输入字段。
<input type="hidden" value="<?php echo $colorrr; ?>" id="my_color" />
$colorrr
(或者您从控制器传递到视图的位置),请确保此变量包含值。
在你的JS。
var color = $("#my_color").val();