1

我在一个页面上有 2 个 Jquery timePickers。timePicker 插件来自http://labs.perifer.se/timedatepicker/

在视图中,我有这两个时间选择器控件-。

$("#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 点、上午 10 点、上午 11 点。我从数据库中获取这些值(到列表“listTimes”中)并将这些值隐藏在#time1 控件中并且不再可见。

  $(listTimes).each(function () {

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

但是,如果用户在时间 1 中选择上午 9 点,在时间 2 中选择下午 2 点,那就是 5 小时的块。我不仅要隐藏上午 9 点,我还必须隐藏 10、11、12、1 点,因为它是 5 小时时段。直到现在,我只能隐藏上午 9 点。需要一些帮助来隐藏剩余的时间。我需要以某种方式用持续时间(time2-time1)中的所有时间填充列表“listTimes”。

4

1 回答 1

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');
}​

现场演示

于 2012-05-31T12:25:24.963 回答