Skip to content

Commit 8b86430

Browse files
committed
Datepicker: Make select and change event pass the current value
1 parent de20614 commit 8b86430

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

tests/unit/datepicker/events.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,19 @@ QUnit.test( "beforeOpen", function( assert ) {
4444
} );
4545

4646
QUnit.test( "change", function( assert ) {
47-
assert.expect( 4 );
47+
assert.expect( 6 );
4848

4949
var shouldFire;
5050

5151
this.element.datepicker( {
52-
change: function( event ) {
52+
change: function( event, ui ) {
5353
assert.ok( shouldFire, "change event fired" );
5454
assert.equal(
5555
event.type,
5656
"datepickerchange",
5757
"change event"
5858
);
59+
assert.equal( $.type( ui.value ), "date", "value is a date object" );
5960
}
6061
} );
6162

@@ -121,19 +122,20 @@ QUnit.test( "open", function( assert ) {
121122

122123
QUnit.test( "select", function( assert ) {
123124
var ready = assert.async();
124-
assert.expect( 4 );
125+
assert.expect( 6 );
125126

126127
var message = "",
127128
that = this;
128129

129130
this.element.datepicker( {
130-
select: function( event ) {
131+
select: function( event, ui ) {
131132
assert.ok( true, "select event fired " + message );
132133
assert.equal(
133134
event.originalEvent.type,
134135
"calendarselect",
135136
"select originalEvent " + message
136137
);
138+
assert.equal( $.type( ui.value ), "date", "value is a date object" );
137139
}
138140
} );
139141

ui/widgets/datepicker.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,18 @@ var widget = $.widget( "ui.datepicker", {
111111
.calendar( $.extend( {}, this.options, {
112112
value: this._parse( this.element.val() ),
113113
change: function( event ) {
114-
that._trigger( "change", event );
114+
that._trigger( "change", event, {
115+
value: that.calendarInstance.valueAsDate()
116+
} );
115117
},
116118
select: function( event ) {
117119
that.element.val( that.calendarInstance.value() );
118120
that.close();
119121
event.preventDefault();
120122
that._focusTrigger();
121-
that._trigger( "select", event );
123+
that._trigger( "select", event, {
124+
value: that.calendarInstance.valueAsDate()
125+
} );
122126

123127
return false;
124128
}
@@ -183,7 +187,9 @@ var widget = $.widget( "ui.datepicker", {
183187
this.suppressExpandOnFocus = false;
184188
},
185189
change: function( event ) {
186-
this._trigger( "change", event );
190+
this._trigger( "change", event, {
191+
value: this.calendarInstance.valueAsDate()
192+
} );
187193
}
188194
},
189195

0 commit comments

Comments
 (0)