html5入力タイプ= 'date'は、Chromeで最新の無料jqgridで日付を入力するために使用されます。html5日付入力を合理的な年に制限する方法
20161
のように5桁の日付を入力できます。 年月日は範囲 1940 .. current year + 2 years
になるように修正するには?
無料jqgridの日付列テンプレート:
// search template from http://stackoverflow.com/questions/8710162/jqgrid-calendar-icon-not-showing-up-in-inline-editing-mode
var DateTemplate = {
sorttype: 'date',
formatter: 'date',
formatoptions: {
srcformat: "Y-m-d",
//added according to http://www.trirand.com/blog/?page_id=393/bugs/date-problem
reformatAfterEdit: true
},
editoptions: {
maxlength: 10,
size: 10,
dataInit: initDateEdit
},
editable: true,
searchoptions: {
clearSearch: false,/
// for the searching toolbar:
// http://stackoverflow.com/questions/34475094/how-to-make-html5-date-field-in-search-toolbar-to-respect-column-width
attr: { size: 10, type: "date", style: "width:11em;" },
sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge'],
dataInit: initDateHtmlSearch,
size: 11 // for the advanced searching dialog
}
};
// http://stackoverflow.com/questions/29194381/how-to-use-native-datapicker-in-both-form-and-row-editing-in-free-jqgrid
// http://stackoverflow.com/questions/26040738/how-to-use-input-type-date-for-date-column-in-jqgrid
var initDateEdit = function (elem, options) {
// we need get the value before changing the type
var orgValue = $(elem).val(), newformat,
cm = $(this).jqGrid("getColProp", options.name);
$(elem).attr("type", "date");
if ((typeof Modernizr !== "undefined" && !Modernizr.inputtypes.date) || $(elem).prop("type") !== "date") {
$(elem).attr("type", "text"); // !!! important to make saving works correctly
$(elem).css({ width: "8em" }).datepicker({
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true
});
} else {
// convert date to ISO
if (orgValue !== "") {
newformat = cm.formatoptions !== null && cm.formatoptions.newformat ?
cm.formatoptions.newformat :
$(this).jqGrid("getGridRes", "formatter.date.newformat");
$(elem).val($.jgrid.parseDate.call(this, newformat, orgValue, "Y-m-d"));
}
$(elem).css({ width: "10em" });
}
};
使用 'min'をおよび終点の日付を指定する 'max'属性 – dandavis