解決easyui datebox無法formatter
阿新 • • 發佈:2018-12-26
做計劃,計劃分為年度計劃和月度計劃,根據計劃的型別來選擇日期的顯示格式。如果選擇年度計劃,則日期框只顯示年份,如果選擇月度計劃,則日期框顯示年份和月份。除了要設定formatter外還需要設定parser。程式碼如下,參考內容http://www.longziyong.cn/post/dnzs/2017/04/778.html
$('#startTimeSelect').datebox({ label: "計劃開始時間", labelPosition: 'before', labelAlign: 'right', width: 200, formatter: function (date) { var y = date.getFullYear(); var m = date.getMonth() + 1; var d = date.getDate(); var planType = $('#planTypeSelect').combobox('getValue'); if (planType == 0) { return y; } else if (planType == 1) { return y + '-' + m; } else if (planType == 2) { $('#endTimeSelect').datebox('setValue', y + 5); return y; } return y + '-' + m + '-' + d; }, parser: function (s) { if (s){ s = s.toString(); console.info(s); var yStr = s.substr(0, 4); var mStr = s.substr(5); var y = parseInt(yStr, 10); var m = parseInt(mStr, 10); if (!isNaN(y) && !isNaN(m)) { return new Date(y, m - 1, 1); } else { return new Date(y,1,1); } } } });