MVCアプリケーションでは、テーブルの最小値と最大値を返す関数があり、これらを使用してユーザーがJQueryで選択できる日付範囲を制限しようとしていますDatePicker。JQuery DatePickerが最小および最大日付範囲の設定を尊重していない
モデルは、これらは、DBからバックエンド・コードから移入されたDateTime型
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime HalfHourlyStartDate { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime HalfHourlyMinDate { get; set; }
の二つproperitesを有しています。ページでは、私は、この
@Html.HiddenFor(x => x.HalfHourlyMinDate)
@Html.HiddenFor(x => x.HalfHourlyMaxDate)
のように定義された2つの隠しフィールドは、その後、私のページに私が&最大範囲
$('.input-group.date').datepicker({
format: "dd/mm/yyyy",
todayBtn: true,
language: "en-GB",
forceParse: true,
autoclose: true,
calendarWeeks: true,
todayHighlight: true,
changeMonth: true,
changeYear: true
});
var minDate = new Date($('#HalfHourlyMinDate').val());
var maxDate = new Date($('#HalfHourlyMaxDate').val());
$('.input-group.date').datepicker("change", { minDate: minDate });
$('.input-group.date').datepicker("change", { maxDate: maxDate });
しかし、それは動作しません!私は私のアプリを実行すると、datepickerはまだunresticed日付の選択を可能にします。私はここで間違っているとき誰も私に助言することはできますか?
***アイブ氏はまた、このようにそれを試してみましたが、それdoesntの作業のいずれか
$('.input-group.date').datepicker('option', 'minDate', minDate);
$('.input-group.date').datepicker('option', 'maxDate', maxDate);
**更新
IVEはその(StackOverflowの上で見つかった)日付関数を追加しました隠しフィールドの文字列値からjavascriptの日付オブジェクトを作成しますが、それでも動作しません。
var minDate = compareDate($('#HalfHourlyMinDate').val());
var maxDate = compareDate($('#HalfHourlyMaxDate').val());
function compareDate(str1) {
// str1 format should be dd/mm/yyyy. Separator can be anything e.g./or -. It wont effect
var dt1 = parseInt(str1.substring(0, 2));
var mon1 = parseInt(str1.substring(3, 5));
var yr1 = parseInt(str1.substring(6, 10));
var date1 = new Date(yr1, mon1 - 1, dt1);
return date1;
}
**更新
[OK]を、アイブ氏は今、これを試してもまだdosnt仕事!何か案は ?これはあなたの最小と最大の日付は、ここで、正しいjavascriptの形式を持っているあなたは例を見ることができるとどのようにそれが正常に働いていることを確認し、かなりstraightforwrd :-)
var minDate = new Date(2017, 9, 9);
var maxDate = new Date(2017, 10, 9);
$(".input-group.date").datepicker({
format: "dd/mm/yyyy",
todayBtn: true,
language: "en-GB",
forceParse: true,
autoclose: true,
calendarWeeks: true,
todayHighlight: true,
changeMonth: true,
changeYear: true,
minDate: minDate,
maxDate: maxDate
});
あなたはjqueryのjqueryの&-UIのバージョンを使用していますか? –
JQuery v3.1.1とJQueryUI v1.12.1 – proteus
正直なところ私はこの機能性のための努力に値するものをあきらめてしまっています。 Imは有効な日付オブジェクトを作成しているので、おそらくdatepickerのバグがあり、とにかく動作しません。 – proteus