Skip to content

Commit d2f9a39

Browse files
committed
增加年月日时分秒change事件
1 parent 5655c18 commit d2f9a39

5 files changed

+77
-23
lines changed

dist/beanext-ui-datepicker.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {
1313
module.exports = 'bui.datepicker';
1414
}
15-
angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', function ($parse) {
15+
angular.module('bui.datepicker', []).directive('buiDatepicker', [function () {
1616
return {
1717
restrict: 'A',
1818
require: '?ngModel',
@@ -30,19 +30,35 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
3030
element.before(feedEL);
3131
}
3232
element.attr('readOnly', 'readOnly');
33+
element.bind('change', function () {
34+
scope.$apply(function () {
35+
ngModel.$setViewValue(element.val());
36+
});
37+
});
38+
39+
var changeVal = function (dp) {
40+
var date = dp.cal.getNewDateStr();
41+
scope.$apply(function () {
42+
ngModel.$setViewValue(date);
43+
});
44+
};
45+
var valueChanged = function () {
46+
return changeVal(window.$dp);
47+
};
3348
element.bind('click', function () {
3449
var options = {
3550
oncleared: function () {
3651
scope.$apply(function () {
3752
ngModel.$setViewValue('');
3853
});
3954
},
40-
onpicked: function (dp) {
41-
var date = dp.cal.getNewDateStr();
42-
scope.$apply(function () {
43-
ngModel.$setViewValue(date);
44-
});
45-
},
55+
onpicked: changeVal,
56+
dchanged: valueChanged,
57+
Mchanged: valueChanged,
58+
ychanged: valueChanged,
59+
Hchanged: valueChanged,
60+
mchanged: valueChanged,
61+
schanged: valueChanged,
4662
skin: 'ext',
4763
dateFmt: attr.dateFmt || 'yyyy-MM-dd',
4864
};
@@ -58,6 +74,8 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
5874
if (attr.maxDateFunc) {
5975
options.maxDate = scope.maxDateFunc();
6076
}
77+
78+
console.log(options);
6179
window.WdatePicker(options);
6280
});
6381
}

dist/beanext-ui-datepicker.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/scripts/beanext-ui-datepicker.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {
1313
module.exports = 'bui.datepicker';
1414
}
15-
angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', function ($parse) {
15+
angular.module('bui.datepicker', []).directive('buiDatepicker', [function () {
1616
return {
1717
restrict: 'A',
1818
require: '?ngModel',
@@ -30,19 +30,35 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
3030
element.before(feedEL);
3131
}
3232
element.attr('readOnly', 'readOnly');
33+
element.bind('change', function () {
34+
scope.$apply(function () {
35+
ngModel.$setViewValue(element.val());
36+
});
37+
});
38+
39+
var changeVal = function (dp) {
40+
var date = dp.cal.getNewDateStr();
41+
scope.$apply(function () {
42+
ngModel.$setViewValue(date);
43+
});
44+
};
45+
var valueChanged = function () {
46+
return changeVal(window.$dp);
47+
};
3348
element.bind('click', function () {
3449
var options = {
3550
oncleared: function () {
3651
scope.$apply(function () {
3752
ngModel.$setViewValue('');
3853
});
3954
},
40-
onpicked: function (dp) {
41-
var date = dp.cal.getNewDateStr();
42-
scope.$apply(function () {
43-
ngModel.$setViewValue(date);
44-
});
45-
},
55+
onpicked: changeVal,
56+
dchanged: valueChanged,
57+
Mchanged: valueChanged,
58+
ychanged: valueChanged,
59+
Hchanged: valueChanged,
60+
mchanged: valueChanged,
61+
schanged: valueChanged,
4662
skin: 'ext',
4763
dateFmt: attr.dateFmt || 'yyyy-MM-dd',
4864
};
@@ -58,6 +74,8 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
5874
if (attr.maxDateFunc) {
5975
options.maxDate = scope.maxDateFunc();
6076
}
77+
78+
console.log(options);
6179
window.WdatePicker(options);
6280
});
6381
}

example/scripts/beanext-ui-datepicker.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/beanext-ui-datepicker.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {
1313
module.exports = 'bui.datepicker';
1414
}
15-
angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', function ($parse) {
15+
angular.module('bui.datepicker', []).directive('buiDatepicker', [function () {
1616
return {
1717
restrict: 'A',
1818
require: '?ngModel',
@@ -30,19 +30,35 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
3030
element.before(feedEL);
3131
}
3232
element.attr('readOnly', 'readOnly');
33+
element.bind('change', function () {
34+
scope.$apply(function () {
35+
ngModel.$setViewValue(element.val());
36+
});
37+
});
38+
39+
var changeVal = function (dp) {
40+
var date = dp.cal.getNewDateStr();
41+
scope.$apply(function () {
42+
ngModel.$setViewValue(date);
43+
});
44+
};
45+
var valueChanged = function () {
46+
return changeVal(window.$dp);
47+
};
3348
element.bind('click', function () {
3449
var options = {
3550
oncleared: function () {
3651
scope.$apply(function () {
3752
ngModel.$setViewValue('');
3853
});
3954
},
40-
onpicked: function (dp) {
41-
var date = dp.cal.getNewDateStr();
42-
scope.$apply(function () {
43-
ngModel.$setViewValue(date);
44-
});
45-
},
55+
onpicked: changeVal,
56+
dchanged: valueChanged,
57+
Mchanged: valueChanged,
58+
ychanged: valueChanged,
59+
Hchanged: valueChanged,
60+
mchanged: valueChanged,
61+
schanged: valueChanged,
4662
skin: 'ext',
4763
dateFmt: attr.dateFmt || 'yyyy-MM-dd',
4864
};
@@ -58,6 +74,8 @@ angular.module('bui.datepicker', []).directive('buiDatepicker', ['$parse', funct
5874
if (attr.maxDateFunc) {
5975
options.maxDate = scope.maxDateFunc();
6076
}
77+
78+
console.log(options);
6179
window.WdatePicker(options);
6280
});
6381
}

0 commit comments

Comments
 (0)