在wordpress中,我试图删除datepicker中的特定月份,但是我的代码无法正常工作。
invalidMonths = [11,12,1,2];
function noInvalidMonths(date) {
if(jQuery.inArray(date.getMonth()+1, invalidMonths)>-1){
return [false, '']
}
return [true, ''];
}
jQuery(function($) {
$("#date1").datepicker({
minDate: 0,
maxDate: null,
dateFormat: 'MM dd, yy',
beforeShowDay: noInvalidMonths
});
});
答案 0 :(得分:0)
使用以下代码更改功能,
function noInvalidMonths(date)
{
var month = date.getMonth();
if (jQuery.inArray(month, invalidMonths) != -1) {
return [false];
}
return [true];
}
希望这会对您有所帮助。
答案 1 :(得分:0)
像这样改变。请注意代码中月份的增量,否则您需要在invalidMonths
数组中定义为“ month-1”。
var invalidMonths = [11,12,1,2];
function noInvalidMonths(date)
{
var month = eval(date.getMonth()+1); //increment by 1 since the months start from 0
if (jQuery.inArray(month, invalidMonths) != -1) {
return [false];
}
return [true];
}
jQuery(function($) {
$("#date1").datepicker({
minDate: 0,
maxDate: null,
dateFormat: 'MM dd, yy',
beforeShowDay: noInvalidMonths
});
});
更新: 停用“联系方式7 Datepicker”插件,将联系方式中的“ datepickers”都更改为“文本”框。将以下内容添加到主题的“ functions.php”中。
function wp_custom_enqueue_datepicker() {
// Load the datepicker script (pre-registered in WordPress).
wp_enqueue_script( 'jquery-ui-datepicker', array( 'jquery' ) );
wp_register_style('jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css');
wp_enqueue_style( 'jquery-ui' );
wp_add_inline_script( 'jquery-ui-datepicker', 'var invalidMonths = [11,12,1,2]; function noInvalidMonths(date) { var month = eval(date.getMonth()+1); if (jQuery.inArray(month, invalidMonths) != -1) { return [false]; } return [true]; } jQuery(function($) { $("#date1,#date2").datepicker({ minDate: 0, maxDate: null, dateFormat: \'MM dd, yy\', beforeShowDay: noInvalidMonths }); var $date1 = $(\'#date1\'), $date2 = $(\'#date2\'); $date1.datepicker(\'option\', \'onSelect\', function(value){ $date2.datepicker(\'option\', \'minDate\', value); }); });' );
}
add_action( 'wp_enqueue_scripts', 'wp_custom_enqueue_datepicker' );