我有代码禁用jquery datepicker上的特定日期。代码在我的本地环境中正常运行,但不能在GoDaddy windows托管
上运行var disableddates = result; //result is array of dates ["1/7/2018","1/8/2018","1/9/2018"]
$("#txtFromdate").datepicker({
minDate: 0,
beforeShowDay : DisableSpecificDates
});
$("#txtTodate").datepicker({
minDate: 0,
beforeShowDay : DisableSpecificDates
});
function DisableSpecificDates(date) {
var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
console.log(string); //this string return with leading zero 01/07/2018...
return [disableddates.indexOf(string) == -1];
}
此代码在本地运行正常,但在启用时,它不会禁用jQuery datepicker中的特定日期。
答案 0 :(得分:0)
如果日期已经是日期格式,则无需格式化日期。例如,如果paste a.txt b.txt | awk '{ print $1 ORS $2 }' > outcome.txt
包含类似result
的数组日期,则可以从中创建Date对象:
"1/7/2018"
考虑到这一点,您可以轻松制作和操作日期。 DatePicker也将Date对象传递给函数。您可以尝试以下解决方案:
var newDate = new Date(result[0]);
$(function() {
var disableddates = ["1/7/2018", "1/8/2018", "1/9/2018"];
$("#txtFromdate, #txtTodate").datepicker({
minDate: 0,
beforeShowDay: DisableSpecificDates,
dateFormat: "m/d/yy"
});
$("#txtFromdate").change(function() {
$("#txtTodate").datepicker("option", "minDate", $(this).val());
});
function DisableSpecificDates(date) {
var result = [true];
$.each(disableddates, function(k, v) {
var exclude = new Date(v).toString();
var today = date.toString();
if (exclude == today) {
console.log("Match", exclude, today);
result = [false];
}
});
return result;
}
});
label {
width: 60px;
}
input {
width: 10em;
}
我的测试在这里完成:https://jsfiddle.net/95t81vzq/3/
希望有所帮助。