在Jquery Dynamic Timepicker中限制Starttime和endtime

时间:2014-05-28 12:17:36

标签: jquery timepicker

我使用了以下链接中提供的timepicker插件,

https://fgelinas.com/code/timepicker/

我有开始时间和结束时间并且有添加按钮。当用户点击添加按钮时,会出现另一个开始和结束时间文本框。在这些中,我按照代码中的说明设置了按时间顺序排列的时间范围。

但在编辑过程中,我使用了以下代码,

$('.tpicker1').each(function () {
            if ($(this).hasClass('hasTimepicker')) {
                $(this).removeClass('hasTimepicker');
            } 

                $(this).timepicker({
                showLeadingZero: false,
                onSelect: function( time, endTimePickerInst ) {

                $(document).on('focus','.tpicker2', function(){
                $(this).timepicker('option', {                  
                minTime: {
                hour: endTimePickerInst.hours,
                minute: endTimePickerInst.minutes
                }
                });
            });
            },
                minTime: {
                    hour: 10, minute: 00
                }
            });
           });
           $('.tpicker2').each(function () {
            if ($(this).hasClass('hasTimepicker')) {
                $(this).removeClass('hasTimepicker');
            } 
             $(this).timepicker({
                showLeadingZero: false,
                onSelect: function( time, startTimePickerInst ) {
                $(document).on('focus','.tpicker1', function(){
                $(this).timepicker('option', {                  
                maxTime: {
                hour: startTimePickerInst.hours,
                minute: startTimePickerInst.minutes
                }
                });
            });
            },
            });
           });

在这段代码中,假设有4个时间选择器,即starttime1,endtime1,starttime2,endtime2等....具有用于starttime的类tpicker1,用于endtime的tpicker2。如果我选​​择starttime1,则endtime1是基于starttime1的阻塞时间。但是,如果我选择starttime2和endtime2然后转到starttime1,则starttime的maxtime将基于endtime2而不是endtime1显示。帮助我解决此问题.....

1 个答案:

答案 0 :(得分:1)

像这样的东西,我提供了一个非常基本的解决方案,如果你想要你想要传递多个参数

这可以用很多方式编写。如果你不需要这个功能就让它内联

    function restricEndtime(id)
    {
        now you have the id here
        do whatever you want to do here 
    }

你点击这样的开始时间

$('.tpicker1').click(function(){
     restricEndtime($(this).attr('id'));
});