2016-07-24 5 views
0

によるJavaでmaxDateのを設定する方法が、私はこれをしようとしている:私はイベントのリストを持っていた jQueryの日付ピッカー/ DateTimePickerのは - - 選択されたオプション私はJavaScriptであまり良くないよ

、ユーザーがすることができます将来の予定でイベントを終了させるプログラム。

ただし、この未来の日付はイベントの後にすることはできません。

次に、イベントごとにmaxdateを設定する必要があります。

私はjQueryの日付ピッカーを使用しています - と私はこれを行うに、maxdate設定するには:私の問題

$('#closeevent').datetimepicker({ 
    minDate: 0, 
    maxDate: new Date(2016, 8, 15, 8, 0) 
}); 

maxDateの= 2016年8月15日午前8時00

を:

どのように私ができますそれぞれのイベントのボタンをクリックしてください(各イベントのmaxDateが異なるため、「2016、8、15、8、0」(maxDate値)を変更してください)

イベント1 ... maxDate(2016,9,10,8 、0).... [button onCl [button onClick:..]

イベント1のボタンをクリックすると、maxDateは2016に変更されます。 、9、10、8、0 ..

私はイベント2のボタンをクリックした場合 - 2016、10、22、10、30にmaxDateの変更を..あなたが使用することができます

TKSたくさん

+1

あなたはjQueryの日付ピッカーを使用していない、またはあなたのコードは、代わりに '' datetimepicker'のdatepicker'を言うでしょう。 – BobRodes

+0

@BobRodesはあなたの観察のためにたくさん!私は質問のタイトルを修正します。あなたは正しいですが、datepickerとdatetimepickerには同様のコアがあり、質問のソリューションはブースでうまく動作します。 – DANIEL

+0

それを知ってよかったですが、それは確かに与えられたものではありませんでした! :) – BobRodes

答えて

1

各日付の前に呼び出される関数を割り当てるbeforeShowDayプロパティ。このリターンにより、はるかに高い精度で日を管理することができます。

例として、このフィドルを見ることができます。 https://jsfiddle.net/tv760t1s/

var maxDate = new Date(2016, 8, 15, 8, 0); 
$(".dateChange").click(function() { 
    maxDate = new Date($(this).attr('value')); 
    console.log(maxDate); 
}); 
$("#datepicker").datepicker({ 
    minDate: 0, 
    maxDate: new Date(2016, 8, 15, 8, 0), 
    beforeShowDay: function(date) { 
    console.log(date, maxDate); 
    if (date > maxDate) { 
     return [false, 'noShowClass', 'Date time not available']; 
    } else { 
     return [true, '', '']; 
    } 
    } 
}); 

HTML:

<div>  
    <input type='text' id='datepicker' value=''> 
    <input class='dateChange' type='button' value='2016-08-15 08:00:00'> 
    <input class='dateChange' type='button' value='2016-09-10 08:00:00'> 
</div> 
+0

あなたの時間と助けにたくさんのtks!素晴らしい解決策!正常に動作します!私は2つの問題しか持っていません - 1-オリジナルのMAXDATEは "MAX OF ALL"でなければなりません - この例では元のmaxdateは2016-08-15です - 2016-12-31に変更しようとすると変化しません。彼らは2016/08/15に止まります。私はこれを解決して最後の日付を特定し、これを元のMaxdateとします。問題ありません... 2番目の問題はTIMEですが、これはdatepickerの問題です - maxdateは日付ではなく、時間をカウントします.2016-08-15 23:59:59を選択できます。 。 – DANIEL

関連する問題