2013-03-12 55 views
0

問題出在這裏。以YII輸入形式選擇日期時間範圍

我必須在我的Yii網站上創建提交表單。該表單需要輸入日期時間範圍。爲此,我使用「jui datetimepicker」第三方Yii擴展。

http://www.yiiframework.com/extension/datetimepicker/

我用兩個日期字段,具有與分別開始和結束時間這個擴展。所以,我想要實現的是能夠將開始日期時間僅限於將來的時間(既不應選擇過去的日期也不應選擇時間),並且結束時間本身應限制在開始時間之後的最多三小時。

示例:用戶想安排一個事件。他們選擇一個日期和時間,這當然是將來的事情。假設他們選擇3月15日13點作爲開始時間字段的開始時間。一旦完成並移至下一個字段(「結束時間」),相應的datetimepicker將限制從3月15日13:00至3月15日16:00的時間範圍。

因此,第二個datetimepicker應根據第一個輸入動態更新。

可以在datetimepicker中從當前日期開始指定日期範圍,但是對於時間選擇沒有這樣的內容,所以用戶仍然可以選擇已經通過的時間。

這不是我想解決這個問題的延伸,如果任何人有任何關於YII解決方案的建議,允許以最乾淨和有效的方式指定日期時間範圍 - 這將不勝感激。

回答

0

您應該改用edaterangepicker擴展名。

+0

p roblem是這個擴展名不允許時間範圍選擇 - 它只適用於日期(或者我錯了嗎?)。 – 2013-03-12 14:05:06

+0

不,顧名思義你可以選擇一個日期範圍。查看示例[here](http://filamentgroup.com/examples/datepicker/)。 – 2013-03-12 14:10:29

+0

我不需要日期範圍擴展,因爲我需要TIME範圍選擇擴展(例如從X點到Y點) – 2013-03-12 14:22:49

0

給定jquery timepicker addon的API。你應該添加下列到你的widget調用(沿側「模型」,「屬性」,等等)

'options'=>array(
'minDateTime'=>'<start dateTime here>', 
'onSelect'=>'<JS function to run>' 
) 

您對「ONSELECT」事件應該動態地設置minDateTime第二日期時間輸入字段中運行的功能,爲前:

function (selectedDateTime){ 
<EndDatePickerElement>.datetimepicker('option', 'minDateTime', <start dateTime here using selectedDateTime>); 
} 

有,如果你需要使它更精確(好比說,如果你想要的起始日期由時間的用戶是量推回以前提供的鏈接更多的例子在頁面上,而不是在頁面加載時設置。etc ...)