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

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一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值