2016-07-24 41 views
0

我不是在Javascript中那麼好java中設置MAXDATE - 但我想這樣的:JQuery的日期選擇器/ dateTimePicker的 - 如何根據所選的選項

我有事件的列表,用戶可以在其中「未來日期關閉」事件的計劃。

但是,這個未來的日期不能在事件發生後。

然後,我需要爲每個事件設置一個maxdate。

我使用JQuery的DatePicker - 和設置的maxDate我這樣做:

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

的maxDate = 2016年8月15日08:00

我的問題:

我怎麼能更改每個事件的「2016,8,15,8,0」(maxDate值)onClick按鈕(因爲每個事件具有不同的maxDate)

event 1 ... maxDate(2016,9,10,8 ,0).... [按鈕onCl ick:..] event 2 ... maxDate(2016,10,22,10,30).... [按鈕onClick:..]

如果我點擊Button for event1 - maxDate更改爲2016 ,9,10,8,0 ..

如果我點擊事件2按鈕 - 的maxDate變化,到2016年,10,22,10,30 ..

TKS很多

+1

您沒有使用jQuery日期選擇器,或者您的代碼會說'的datepicker'代替'datetimepicker'。 – 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

很多你的時間和幫助!好的解決方案工作正常!我只有2個問題 - 1 - 原始MAXDATE必須是「MAX of ALL」 - 在我們的示例中,原始的maxdate是2016-08-15 - 如果我嘗試更改爲2016-12-31 ..他們不會更改。他們在2016/08/15停止。我解決這個識別最後的日期,並把它作爲原始的Maxdate。沒問題...第二個問題是時間 - 但我認爲這是datepicker的問題 - maxdate只計算日期,而不是時間..我可以選擇2016-08-15 23:59:59。 。 – DANIEL

相關問題