首先,我知道这个问题已经被问到,但我已经尝试了大多数,如果不是所有的解决方案,提供和不能得到它正确的工作。
我在Symfony 3项目中使用flatpickr,我需要能够根据预订的假期禁用某些日期。当从下拉列表中选择某个人时,系统会查询数据库以找出他们是否在任何时间点度假,如果是,则返回这些日期作为“from”和“to”。然后将结果进行JSON编码并通过 AJAX 响应返回。
以下是 AJAX 调用的响应示例:
[{"from":"2017-06-05","to":"2017-06-09"},{"from":"2017-06-27","to":"2017-06-28"}]
flatpickr需要一组日期来禁用,如下所示:
{
disable: [
{
from: "2017-04-01",
to: "2017-06-01"
},
{
from: "2017-09-01",
to: "2017-12-01"
}
]
}
因此,我使用了以下jQuery来尝试获得所需的结果:
$.each(response, function(i, dateitem){
console.log(dateitem.from + " - " + dateitem.to);
});
用于测试目的,但没有显示. response
是Controller中数据库的返回结果。
任何人都可以帮助我转换成正确的格式与Flatpickr使用这些数据,因为我挣扎了很多。
5条答案
按热度按时间cx6n0qe31#
最后我做了很长的路要走,在那里你按顺序陈述每个日期被禁用。
我使用
DatePeriod()
获取from和to之间的所有日期,然后再次添加end date(因为DatePeriod()
不这样做),如下所示:我给 AJAX 输入了一个json编码的结果,然后在ajax上成功了:
这就成功了:)
bn31dyow2#
这对我来说绝对有效。我没有给你看服务器代码,因为你用的是PHP,而我用的是C#。如果你想要我的服务器代码,请请求。
gc0ot86w3#
这是我的服务器代码,如果你需要的话。
t5fffqht4#
我很遗憾它对你不起作用,你需要修改你的服务器代码,这样当你在 AJAX 调用成功时设置一个断点,这个变量看起来像这样:
c9qzyr3d5#
HTML代码
Jquery代码
服务器代码PHP
测试代码