Javascript 将按钮添加到日期选择器+;6个月

Javascript 将按钮添加到日期选择器+;6个月,javascript,php,datepicker,Javascript,Php,Datepicker,我有一个javascript代码,当在输入字段上剪切时,可以在datepicker面板中创建一个额外的按钮 $(function() { $( ".datepicker" ).datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, changeYear: true, yearRange: "2014:2034", showButtonPanel: true, beforeShow: function (input) {

我有一个javascript代码,当在输入字段上剪切时,可以在datepicker面板中创建一个额外的按钮

$(function() {
$( ".datepicker" ).datepicker({ dateFormat: "yy-mm-dd", 
changeMonth: true,
changeYear: true,
yearRange: "2014:2034",
showButtonPanel: true,
    beforeShow: function (input) {
        setTimeout(function () {
            var buttonPane = $(input)
                .datepicker("widget")
                .find(".ui-datepicker-buttonpane");

            var btn = $('<button class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" type="button">CSA</button>');
            btn.unbind("click")
            .bind("click", function () {
                //$.datepicker._clearDate(input);
                //alert('custom text');
                $(input).datepicker("hide");
                $(input).val("0000-00-00");
            });

            btn.appendTo(buttonPane);

        }, 1);
    }
});
});
$(函数(){
$(“.datepicker”).datepicker({dateFormat:“yy-mm-dd”,
变化月:对,
变化年:是的,
年份范围:“2014:2034”,
showButtonPanel:是的,
显示前:功能(输入){
setTimeout(函数(){
var buttonPane=$(输入)
.datepicker(“小部件”)
.find(“.ui日期选择器按钮面板”);
风险值btn=$('CSA');
取消绑定(“单击”)
.bind(“单击”),函数(){
//$.datepicker.\u clearDate(输入);
//警报(“自定义文本”);
$(输入).datepicker(“隐藏”);
$(输入).val(“0000-00-00”);
});
附件(按钮板);
}, 1);
}
});
});

现在,当我单击面板中的额外按钮“CSA”时,0000-00-00出现。现在我想说的是,当点击“CSA”按钮时,今天的日期加上6个月后会出现。在datepicker中是否可以这样做?

要添加六个月,可以使用:

        var date = new Date();
        date.setMonth(date.getMonth() + 6);
我不确定如何在datepicker小部件中设置日期,但如果我们遵循您的代码:

        .bind("click", function () {
            //$.datepicker._clearDate(input);
            //alert('custom text');
            $(input).datepicker("hide");
            var date = new Date();
            date.setMonth(date.getMonth() + 6);
            $(input).val(date.getFullYear() + "-" date.getMonth() + "-" + date.getDate());


        });

将其附加到按钮单击事件:

$('#csa-button').click(function(){
    var mydate = new Date();
    mydate.setMonth(date.getMonth()+6);
    $(this).datepicker('setDate', mydate);
});

我在前一段时间做过这项工作,将年度支持添加到日历中:

不需要太多的调整,你也可以得到一个+6个月(从今天开始)的按钮

变更的相关部分在_generateHTML方法中

        var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
        '<a style="left: 22px;" class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + dpuuid +
        '.datepicker._adjustDate(\'#' + inst.id + '\', -' + stepMonths + ', \'M\');"' +
        ' title="' + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? 'e' : 'w') + '">' + prevText + '</span></a>' :
        (hideIfNoPrevNext ? '' : '<a style="left: 22px;" class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? 'e' : 'w') + '">' + prevText + '</span></a>'));

        var nextText = this._get(inst, 'nextText');
        nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
        this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
        this._getFormatConfig(inst)));
        var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
        '<a style="right: 22px;" class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + dpuuid +
        '.datepicker._adjustDate(\'#' + inst.id + '\', +' + stepMonths + ', \'M\');"' +
        ' title="' + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? 'w' : 'e') + '">' + nextText + '</span></a>' :
        (hideIfNoPrevNext ? '' : '<a style="right: 22px;" class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? 'w' : 'e') + '">' + nextText + '</span></a>'));

        next += (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
        '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + dpuuid +
        '.datepicker._setDateDatepicker($(\'#' + inst.id + '\')[0], new Date(new Date().setMonth(new Date().getMonth()+6)));"' +
        ' title="CSA"><span style="cursor:pointer;cursor:hand;">CSA</span></a>' :
        (hideIfNoPrevNext ? '' : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="CSA"><span style="cursor:pointer;cursor:hand;">CSA</span></a>'));
var-prev=(这个月可以调整月份(inst,-1,drawYear,drawMonth)?
''+prevText+'':
(hideIfNoPrevNext?'':''+prevText+'');
var nextText=此参数。_get(inst,'nextText');
nextText=(!NavigationsDataFormat?nextText:this.formatDate(nextText,
此._daylightSavingAdjust(新日期(提款年、提款月+逐步月,1)),
这个;
var next=(这个月可以调整月份(inst,+1,drawYear,drawMonth)?
''+nextText+'':
(hideIfNoPrevNext?'':''+nextText+'');
下一个+=(这个月可以调整(inst,+1,drawYear,drawMonth)?
“CSA”:
(hideIfNoPrevNext?“”:“CSA”);

$(输入).val(“0000-00-00”);这与日期选择器无关。您只需要使用Date()函数来计算所需的日期,并将其作为字段的值,我知道,但脚本在必须显示0000-00-00之前是这样的,但现在它必须在今天+6个月后变为日期,我如何附加它,Sry我不熟悉JavaScript只需创建
CSA