问题描述
我最近有一个问题:当我第一次单击选择位置时选择。(例如 location_1)它会返回可供选择的日期。(例如 17/03/2021)但是当我更改位置时。(例如 location_2) 日期选择器不工作。它仍然给我我可以选择的第一个结果日期。(仍然是 17/03/2021,但应该是 20/03/2021)。 任何人有任何想法? 非常感谢!
我的 HTML:
<div class="vax_user_not_schedule">
<div class="vax_location_select">
<label for="">Location Select(name,street,state)</label>
<div class="mb-3">
<%= select("location","id",VaxLocation.all.collect {|l|
if l.name=="Other"
[l.name,l.id]
else
[ l.name+","+l.street+","+l.state,l.id ]
end
},{ include_blank: true }) %>
</div>
</div>
<!--<input id="exampleDate" class="datepicker" name="date" type="text" value="14 August,2014" data-value="2014-08-08" />-->
<div id="date-picker">
<input class="datepicker" id="exampleDate">
</div>
我的 Js
$('#location_id').on("change",function (){
console.log($('#location_id').val());
$.ajax({
url: "/myvax_vaccince_schedule/covid19/query_location_spot",method: "GET",dataType: "json",data: {location_id: $('#location_id').val()},error: function (xhr,status,error) {
console.error('AJAX Error: ' + status + error);
},success: function (response) {
var vax_spots_location = response["vax_location_spots"];
var date_has_spots=[];
for(var i=0; i< vax_spots_location.length; i++){
if (date_has_spots.includes(vax_spots_location[i]["start_at"].substring(0,10))==false)
date_has_spots.push(vax_spots_location[i]["start_at"].substring(0,10).toString());
}
console.log(date_has_spots);
var today_date = new Date();
today_date.setDate(today_date.getDate()-1);
console.log(today_date);
$('#exampleDate').datepicker('destroy').datepicker({
startDate: today_date,format: 'yyyy-mm-dd',beforeShowDay: function(date){
dmy = date.getFullYear() + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + date.getDate() ;
console.log(date_has_spots.includes(dmy))
// console.log(dmy)
if(date_has_spots.includes(dmy)){
return true;
}
else{
return false;
}
}
});
}
});
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)