我有3张桌子:每个活动有很多点,每个点有很多预订。 因此,我试图访问使用Bootstrap日历选择器显示的预订列表的位置页面。
我有一个Bootstrap日历和3个隐藏的输入字段(使用changeDate事件选择Vendor_id,Event_id和Date)。
我试图传递这3个输入并获得spot_id(最后转到链接)。
这是我的代码:
<div class="calendar">
<h2>Calendar</h2>
<div id="datepicker" data-date-format="yyyy-mm-dd" data-date="today">
</div>
<input type="hidden" id="my_hidden_input">
<input type="hidden" id="event_id" value="{{ $event->id }}">
<input type="hidden" id="vendor_id" value="{{ $event->vendor_id }}">
</div>
//JavaScript
<script type="text/javascript">
$('#datepicker').datepicker();
$('#datepicker').on("changeDate", function() {
$('#my_hidden_input').val(
$('#datepicker').datepicker('getFormattedDate')
);
var caldate = $('#my_hidden_input').val();
var event_id = $('#event_id').val();
var vendor_id = $('#vendor_id').val();
//console.log(abc);
//console.log(event_id);
$.get("/"+vendor_id+"/events/"+event_id +"/"+caldate, function( data )
{
console.log(data);//I get this as UNDEFINED
window.location.href="/"+vendor_id+"/events/"+event_id +"/"+data;
});
});
</script>
Controller Method
public function getspotid($vendor_id,$event_id,$date)
{
$spotid = Spot::select('id')
->where('event_id','=',$event_id)
->where('event_date','=',$date)
->first();
return response()->json(array('spotid' => $spotid));
}
我测试了控制器和datepicker,一切似乎都有效,但是我需要一个逻辑来将值返回给Javascript并转到url:/ {vendor_id} / events / {event_id} / {spot_id}。我
答案 0 :(得分:2)
console.log(data); 而不是console.log(value.id);
答案 1 :(得分:0)
我终于开始工作了。然后我必须简单地获取对象内的值。 这就是我开始工作的方式: $ .get(&#34; /&#34; + vendor_id +&#34; / events /&#34; + event_id +&#34; /&#34; + caldate,function(data) {
console.log(data);
window.location.href="/"+vendor_id+"/events/"+event_id +"/"+data.spotid.id;
});