2012-05-31 2 views
1

У меня есть 2 Jquery timePickers на странице. 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 
}); 

"# time1" принимает значение "Начало события". # time2 занимает время «Конец события». У меня есть MVC, jquery, js-код, который запускается, чтобы получить список всех ранее выбранных «time1». Я скрываю ранее выбранные значения & сохраненных значений в # time1. Например, пользователь сохранил 9 AM, 10 AM, 11 AM ранее. Я получаю эти значения из базы данных (в список «listTimes») и скрываю эти значения в элементе управления # time1 и не более заметным.

$(listTimes).each(function() { 

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

Но если пользователь выбирает 9 AM в time1 и 2 PM в time2, то это 5-часовой блок. Я не только должен скрыть 9 утра, я должен скрыть 10, 11, 12, 1 PM также потому, что его 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