Javascript 输入日历跳转到下一个输入

Javascript 输入日历跳转到下一个输入,javascript,calendar,Javascript,Calendar,我正在使用这个日历,我被迫使用它,我想知道你是否能帮我解决一个小问题 日历: 我有两个输入字段,这个日历在上面 <input type="text" id="cr_date_from" /> <input type="text" id="cr_date_to" /> 提供整个脚本,我可能会帮你。不过,您可以使用JSFIDLE来实现这一点。它非常庞大,但这一部分解释了发生了什么,我建议这与dateFrom=new Calendar的onSelect函数有关{ bindSe

我正在使用这个日历,我被迫使用它,我想知道你是否能帮我解决一个小问题

日历:

我有两个输入字段,这个日历在上面

<input type="text" id="cr_date_from" />
<input type="text" id="cr_date_to" />

提供整个脚本,我可能会帮你。不过,您可以使用JSFIDLE来实现这一点。它非常庞大,但这一部分解释了发生了什么,我建议这与dateFrom=new Calendar的onSelect函数有关{
bindSearch: function () {
        var self = this,
            dateFrom = new Calendar({
                element: "cr_date_from",
                //dateFormat: "Y-m-d",
                dateFormat: self.opts.dateFormat,
                monthNamesFull: self.opts.monthNamesFull,
                dayNames: self.opts.dayNames,
                disablePast: true,
                months: 3,
                onSelect: function () {
                    reCalc.call(self);
                }
            }),
            dateTo = new Calendar({
                element: "cr_date_to",
                //dateFormat: "Y-m-d",
                dateFormat: self.opts.dateFormat,
                monthNamesFull: self.opts.monthNamesFull,
                dayNames: self.opts.dayNames,
                disablePast: true,
                months: 3,
                onSelect: function () {
                    reCalc.call(self);
                }
            }),
            lnkFrom = document.getElementById("crDateFrom"),
            lnkTo = document.getElementById("crDateTo"),
            btnQuote = document.getElementById("crBtnQuote"),
            btnMap = document.getElementById("crBtnMap"),
            sameLoc = document.getElementById("cr_same_location"),
            returnLoc = document.getElementById("crReturnBox");

        self.elFrom = document.getElementById("cr_date_from");
        self.elTo = document.getElementById("cr_date_to");
        self.elHFrom = document.getElementById("cr_hour_from");
        self.elMFrom = document.getElementById("cr_minutes_from");
        self.elHTo = document.getElementById("cr_hour_to");
        self.elMTo = document.getElementById("cr_minutes_to");

        function reCalc() {
            var from = Date.parseExact(this.elFrom.value, dateFormat(self.opts.dateFormat, 'datejs')).getTime() + (parseInt(this.elHFrom.value, 10) * 3600000) + (parseInt(this.elMFrom.value, 10) * 60000),
                to = Date.parseExact(this.elTo.value, dateFormat(self.opts.dateFormat, 'datejs')).getTime() + (parseInt(this.elHTo.value, 10) * 3600000) + (parseInt(this.elMTo.value, 10) * 60000),
                nd = document.getElementById("crNumDays"),
                days;
            if (from !== null && to !== null) {
                days = Math.ceil((to - from) / 86400000);
                if (days > 0) {
                    nd.lastChild.innerHTML = days;
                    nd.style.display = "";
                } else {
                    nd.style.display = "none";
                }
            } else {
                nd.style.display = "none";
            }
        }   

        if (lnkFrom) {
            lnkFrom.onclick = function (e) {
                if (e && e.preventDefault) {
                    e.preventDefault();
                }
                dateFrom.isOpen ? dateFrom.close() : dateFrom.open();
                return false;
            };
        }
        if (lnkTo) {
            lnkTo.onclick = function (e) {
                if (e && e.preventDefault) {
                    e.preventDefault();
                }
                dateTo.isOpen ? dateTo.close() : dateTo.open();
                return false;
            };
        }
        if (btnMap) {
            btnMap.onclick = function (e) {
                self.overlayMap.open();
                if (e && e.preventDefault) {
                    e.preventDefault();
                }
                return false;
            }
        }
        if (sameLoc && returnLoc) {
            function bindLoc(el) {
                if (this.checked) {
                    el.style.display = "none";
                } else {
                    el.style.display = "";
                }
            }
            sameLoc.onchange = function () {
                bindLoc.call(this, returnLoc);
            };
            sameLoc.onclick = function () {
                bindLoc.call(this, returnLoc);
            };
        }
        if (btnQuote) {
            btnQuote.onclick = function () {
                this.disabled = true;
                if (!self.validateSearch(this)) {
                    this.disabled = false;
                    return;
                }
                self.passed.first = true;
                self.loadCars.apply(self, [JABB.Utils.serialize(document.getElementById("crFormSearch"))]);
            };
        }
    },