私のプロジェクトでAngular UI Bootstrap datepickerディレクティブを使用しています。私は現在の日からわずか5日を有効にする必要があるように、この特定の必要性を持っています。週末の場合は、それらを無効にして残りの日を有効にする必要があります。たとえば、金曜日の今日の場合は、金、月、火、ウェブ、スラムを有効にする必要があります。私はこれを達成するためにdateDisabledプロパティを使用しています。問題はすべて過去1か月の日付も有効になっています。また、私が思いついた解決策はエレガントではないと思います。以下は私のマークアップとコードです。親切に私を助けてください。前もって感謝します。あなたが探しているものを角度UIの日付ピッカー。今日から週末を除いてわずか5日有効
<input show-weeks="false" ng-click="vm.openDate()" name="quotedate" type="text" class="form-control" ng-model-options="{timezone:'UTC'}" uib-datepicker-popup="dd/MM/yyyy" ng-model="vm.quote.date" is-open="vm.quotedate.opened" datepicker-options="vm.dateOptions" required close-text="Close" readonly="true"/>
vm.dateOptions = {
dateDisabled: disabled,
minDate: today
};
function disabled(data) {
var date = data.date,
mode = data.mode;
if (today.getDay() === 0 || today.getDay() === 6) {
return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6 || date.getDate() > today.getDate() + 5);
}else if (today.getDay() === 1) {
return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6 || date.getDate() > today.getDate() + 4);
}else {
return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6 || date.getDate() > today.getDate() + 6);
}
}
こんにちは、ありがとうございました。これにより、週末は無効になりますが、週末にもカウントされます。だから私はif else条件を置くことになった。 – logesh
5週間前までにしたいのであれば、週末を無効にして5日間ではなく7日間を追加しないでください。どんな日であっても、平日の5つの平日のみを選択することができます。私はそれに応じて例を更新しました。 –