私はExt.picker.Monthを使用しています。 maxDateを設定しても、maxDate値よりも大きい日付は無効になりませんが、選択時に検証エラーが発生します。ExtJS4-今年のピッカー - 将来のすべての日付を無効にする
将来どのように無効にすることができますか? 4.2
私はExt.picker.Monthを使用しています。 maxDateを設定しても、maxDate値よりも大きい日付は無効になりませんが、選択時に検証エラーが発生します。ExtJS4-今年のピッカー - 将来のすべての日付を無効にする
将来どのように無効にすることができますか? 4.2
あなたはMonthPicker
、ないDatePicker
をインスタンス化された新しい日付()
2. ExtJSのに
1.設定maxDateの、まだあなただけある設定オプションの数十を使用している -
はfiddleを参照してください。 DatePicker
でご利用いただけます。
hereMonthPicker
をインスタンス化する方法を参照してください。特にin the docsにあるように、MonthPicker
には何も無効にする設定オプションはありません。また、DatePicker
の動作を確認すると、disabledDates
オプションは何も変更されません。MonthPicker
、の後には、月が選択され、DatePickerのすべての日が無効になります。
だから、私はDatePicker
とMonthPicker
からのコードを見て、転送しようとすることで行うことになる、MonthPicker
ためdisabledDates
を実装するには、あなた自身になります。
ExtJS 6.0.0で作業してください。 あなたは'Ext.picker.Month' find attached image 受け入れられる値オーバーライドする必要がある - 新しい正規表現を( '?(:)'); すべての月/年を無効にする new RegExp( '^((?!^ 4月/ 2016 $ |^5月/ 2016 $ |^6月/ 2016 $)^ * $')は2016
CSS -
.x-monthpicker-disabled {
background-color: #eee !important;
cursor: default !important;
color: #bbb !important;
}
disabledCls: Ext.baseCSSPrefix + 'monthpicker-disabled',
disabledMonthYearsRE: null,
disabledMonthYearsText: 'Disabled',
updateBody: function() {
//default Extjs code
if (me.rendered) {
//default Extjs code
//remove disabled cls and tooltip
years.removeCls(disabledCls);
months.set({
'data-qtip': ''
});
years.set({
'data-qtip': ''
});
months.removeCls(disabledCls);
//default Extjs code
if (dmyMatch) {
if (month == null && year == null) {
months.set({
'data-qtip': dmyText
});
months.addCls(disabledCls);
}
yrInView = false;
for (y = 0; y < yLen; y++) {
yr = yearNumbers[y];
el = Ext.fly(yearItems[y]);
if (dmyMatch.toString().indexOf(yr) == -1) {
el.dom.setAttribute('data-qtip', dmyText);
el.addCls(disabledCls);
}
if (yr == year) {
yrInView = true;
}
}
if (year != null && yrInView) {
for (m = 0; m < mLen; m++) {
mNo = m;
if (mNo < monthOffset) {
mNo = mNo * 2;
} else {
mNo = (mNo - monthOffset) * 2 + 1;
}
mt = months.elements[mNo];
if (dmyMatch.test(mt.text + "/" + year)) {
mt.setAttribute('data-qtip', dmyText);
mt.className = disabledCls + ' ' + mt.className;
}
}
} else {
//Add tooltip 'disabled'
months.set({
'data-qtip': dmyText
});
months.addCls(disabledCls);
}
}
}
},
//Disable month and year click for disabled values
onMonthClick: function (target, isDouble) {
var me = this;
if (!me.disabled && !Ext.fly(target).hasCls(me.disabledCls)) {
//default Extjs code
}
},
onYearClick: function (target, isDouble) {
var me = this;
if (!me.disabled && !Ext.fly(target).hasCls(me.disabledCls)) {
//default Extjs code
}
}
4月/月/ 6月/ 7月以外のすべての値を無効にします