2013-01-16 22 views
3

我使用優秀的Trent Richardson datetimepicker插件到jQuery UI datepicker。jQuery Datetimepicker - 更改點擊時的minDateTime和maxDateTime?

我有每行的選擇器的兩個實例的數據行,一個用於開始和一個進程的結束時間。當我的用戶點擊其中一個時,我想根據另一個框的值重置最小或最大日期時間元素 - 換句話說,根據開始時間和開始時間根據結束時間限制結束時間(防止用戶在結束之後或在開始之前結束)。

我調用的DateTimePicker這樣的:

$('.c_inbox_date').datetimepicker({ 
    hourGrid: 12, 
    minuteGrid: 30, 
    timeFormat: 'HHmm', 
    showTimezone: false, 
}) 

這裏是我工作的重置最小和最大時間在飛行功能:

$('.c_inbox_date').click(function() { 
    var this_col = $(this).closest('td').parent().children().index($(this).closest('td')); 
    if (this_col == 3) { 
     var stop_time = $(this).closest('td').next('td').children('input').val();  
     $(this).datetimepicker({ 
      maxDateTime: stop_time 
     })    
    } else {  
     var start_time = $(this).closest('td').prev('td').children('input').val(); 
     $(this).datetimepicker({ 
      minDateTime: new Date(start_time) 
     })    
    } 
}) 

Alert對話框中的功能確認start_time和stop_time變量包含正確的值。正如你所看到的,我嘗試使用'新日期'來確保這個值實際上是一個日期對象,但這也不起作用。

有誰能告訴我爲什麼這不起作用? datetimepicker是否允許這種即時更改?或者是我的語法搞砸了?任何幫助一如既往,非常感謝。

回答

8

使用兩個他們。

$('input') 
    .datepicker('option', 'maxDate', new Date()) 
    .datetimepicker('option', 'maxDateTime', new Date()); 

逆向工程的樂趣...

+1

非常感謝您的支持。奇蹟般有效。這應該是文檔的一部分。 – Jimmy

0

當設定的日期回來了,只是正常的日期選擇器,我使用這個語法:

$(this).datepicker("option", "maxDate", new Date(your_date)); 
//your_date is a string in the format: YYYY,MM,DD 

我會假設你的情況,你可以使用:

$(this).datetimepicker("option", "maxDateTime", new Date(your_date)); 
//your_date is a string in the format: YYYY,MM,DD,HH,II 
+0

是的,我試過了,但是它並沒有與工作的DateTimePicker。感謝您的回覆,tho'。 – Stanton