当前位置: 首页 > 工具软件 > Today Context > 使用案例 >

jquery-ui datepicker 修改today按钮事件;close按钮事件

锺霍英
2023-12-01

1.修改datepicker 中 today 按钮默认选中今天:

在jquery-ui.js中找到_attachHandlers

_attachHandlers: function(e) {
            var i = this._get(e, "stepMonths"),
                s = "#" + e.id.replace(/\\\\/g, "\\"),
                ele = e.input.context;
            e.dpDiv.find("[data-handler]").map(function() {
                var e = {
                    prev: function() {
                        t.datepicker._adjustDate(s, -i, "M")
                    },
                    next: function() {
                        t.datepicker._adjustDate(s, +i, "M")
                    },
                    hide: function() {
                    	//ele.value="";
                    	$(s).val("").trigger("change");
                        t.datepicker._hideDatepicker()
                    },
                    today: function() {
                        t.datepicker._gotoToday(s)
                    },
                    selectDay: function() {
                        return t.datepicker._selectDay(s, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), !1
                    },
                    selectMonth: function() {
                        return t.datepicker._selectMonthYear(s, this, "M"), !1
                    },
                    selectYear: function() {
                        return t.datepicker._selectMonthYear(s, this, "Y"), !1
                    }
                };
                t(this).on(this.getAttribute("data-event"), e[this.getAttribute("data-handler")])
            })
        },
在里面的today就是我们要找的位置啦,将里面的today function中添加两句话

$(s).blur();
                        return t.datepicker._selectDay($(s), +t.datepicker._getInst($(s)[0]).selectedMonth, +t.datepicker._getInst($(s)[0]).selectedYear, t.datepicker._getInst($(s)[0]).dpDiv.find(".ui-datepicker-today")), !1

添加完之后是这样:

today: function() {
                        t.datepicker._gotoToday(s);
                        $(s).blur();
                        return t.datepicker._selectDay($(s), +t.datepicker._getInst($(s)[0]).selectedMonth, +t.datepicker._getInst($(s)[0]).selectedYear, t.datepicker._getInst($(s)[0]).dpDiv.find(".ui-datepicker-today")), !1
                    },
完成,这样点击today之后就会默认选择当前日期

2.将close按钮修改成清空按钮

同上,先在jquery-ui.js中找到_attachHandlers

在里面的hide function就是了

在function中添加 $(s).val("").trigger("change");

这样

hide: function() {
                    	$(s).val("").trigger("change");
                        t.datepicker._hideDatepicker()
                    },
记得一定要trigger一下

 类似资料: