的minHour選項我有一個類型的兩個輸入=「文本」日期角色=「datebox」如何動態地設置jQuery Mobile的的datebox
一個是開始時間。 另一種是結束時間。
我想要做的是,當用戶選擇開始時間時,我將結束時間日期框的minHour選項更改爲他們選擇的小時。
這可能嗎?如果是這樣,怎麼樣?
感謝
的minHour選項我有一個類型的兩個輸入=「文本」日期角色=「datebox」如何動態地設置jQuery Mobile的的datebox
一個是開始時間。 另一種是結束時間。
我想要做的是,當用戶選擇開始時間時,我將結束時間日期框的minHour選項更改爲他們選擇的小時。
這可能嗎?如果是這樣,怎麼樣?
感謝
從我所看到的minHour似乎默認情況下,時間選擇器彈出向右小時,但隨後它可以讓你選擇一個較早的時間呢。如果選擇的時間早於minHour,則日期顯示的是早先的小時,但當您調用datebox('getTheDate')時;它返回minHour。所以我想出了一個解決方法,可以爲你做這項工作。
這裏是一個DEMO
每個dateboxes的有OnClose中的回調:
<input name="Date1" id="Date1" type="date" data-role="datebox"
data-options='{"mode": "timebox", "closeCallback": "Date1Close();"}' />
...
<input name="Date2" id="Date2" type="date" data-role="datebox"
data-options='{"mode": "timebox", "closeCallback": "Date2Close();"}' />
的開始時間的回調得到的選定時間的小時,然後設置結束時間的minHour那麼'解決方法'是endtime的回調,它將盒子的時間設置爲盒子的'getTheDate'以校正顯示。
function Date1Close(){
var startdate = $('#Date1').datebox('getTheDate');
var minH = startdate.getHours() + 1;
if (minH > 23) minH = 23;
$('#Date2').datebox({"minHour": minH});
}
function Date2Close(){
var enddate = $('#Date2').datebox('getTheDate');
$('#Date2').datebox('setTheDate', enddate);
$('#Date2').trigger('datebox', {'method':'doset'});
}
在第二個回調,你也只是結束時間比作STARTIME,如果結束小於開始,第二datebox設置爲開始時間。
您可能想要聯繫Datebox開發商,看看是否有與minHour功能中的錯誤...
我試圖呼籲接近第一起始時間datebox一個回調函數,改變數據 - 第二個日期框的選項,然後我刷新第二個日期框。這沒有用。因此,我的問題更一般化,因爲我希望任何有效的解決方案。請不要以爲我發佈這個問題,甚至試圖幫助自己。 – WiseOlMan