2012-05-31 46 views
1

我在頁面上有2個JQuery時間選擇器。 timePicker插件是從http://labs.perifer.se/timedatepicker/Jquery插件 - 操縱時間選擇器

在視圖中我有這兩個時間選擇器控件 - 。

$("#time1, #time2").timePicker({ 
     startTime: "09.00", 
     endTime: new Date(0, 0, 0, 19, 0, 0), 
     show24Hours: false, 
     separator: '.', 
     step: 60 
}); 

「#時間1」需要'事件開始'時間。 #time2接收「事件結束」時間。我有MVC,jquery,js代碼,它可以讓我得到所有以前選擇的'time1'列表。我在#time1中隱藏了先前'已選擇&已保存'的值。例如,用戶先前節省了上午9點,上午10點和上午11點。我從數據庫中獲取這些值(列表「listTimes」),並將這些值隱藏在#time1控件中並且不再可見。

$(listTimes).each(function() { 

    $('.time-picker:first').find('li:contains("' + this + '")').hide();  
         }); 

但是,如果用戶挑選在TIME1上午09時和下午2點在時間2,那是在5小時塊。不僅我必須隱藏上午9點,我必須隱藏10日,11日,12日,1點,因爲它有5個小時的時間。到目前爲止,我只能隱藏上午9點。想要獲得剩餘時間的一些幫助也隱藏起來。我需要以某種方式填充列表「listTimes」與持續時間(time2-time1)中的所有小時數。

回答

1

東西沿着這些線路應爲你工作:

var startTime = "09:00"; 
var endTime = "11:30"; 
var $startTime = $('.time-picker:first').find('li:contains("' + startTime + '")'); 
var $currentTime = $startTime.next('li'); 

$startTime.hide(); 

while($currentTime.html() != endTime) ​{ 
    $currentTime.hide(); 
    $currentTime = $currentTime.next('li'); 
}​ 

Live DEMO