如何更新Timepicker插件中的时间约束?

时间:2013-08-21 09:34:53

标签: jquery timepicker

我正在使用Timepicker插件:http://trentrichardson.com/examples/timepicker/。我希望在更改日期后更新时间限制。这是我的代码:

var date = "10/02/2013";  // October, 02 2013
var time = "22:05";
$("#Date").datepicker({
                    minDate: 'today',
                    maxDate: date,
                    showOn: "button",
                    buttonImage: '@Url.Content("~/Images/Library/Calendar.png")',
                    buttonImageOnly: true,
                    onSelect: function (dateText) {
                        if (Date.parse(dateText) == Date.parse(date)) {
                            $('#Time').timepicker({
                                hourMax: time.split(':')[0],
                                minuteMax: time.split(':')[1]
                            });
                        }
                        else {

                            $('#Time').timepicker({
                                hourMax: 23,
                                minuteMax: 59
                            });
                        }
                    }
                });

我尝试这样做,但它不起作用

2 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法:当我选择另一天时,我会销毁时间戳并重新创建它。

var date = "10/02/2013";
var time = "22:05";
$("#S-Date").datepicker({
                        minDate: 'today',
                        maxDate: date,
                        showOn: "button",
                        buttonImage: '@Url.Content("~/Images/Library/Calendar.png")',
                        buttonImageOnly: true,
                        onSelect: function (dateText) {
                            if (Date.parse(dateText) == Date.parse(date)) {
                                $("#S-Time").val(formatTime12(time));
                                $('#S-Time').timepicker('destroy');
                                $('#S-Time').timepicker({
                                    hourMax: time.split(':')[0],
                                    minuteMax: time.split(':')[1]
                                });
                            }
                            else {
                                $('#S-Time').timepicker('destroy');
                                $('#S-Time').timepicker({
                                    hourMax: 23,
                                    minuteMax: 59
                                });
                            }
                        }
                    });

答案 1 :(得分:0)

您已经提供了两个未定义的变量' date'和时间有关,这可能是你在剧本的其他地方定义的(我假设)......

假设这些变量是,例如:

var date = "10/02/2013";  // October, 02 2013
var time = "22:05";

您的代码应该有效(我已对其进行了测试)。

如果你有不同的日期格式,你可以尝试这样的事情:

 var fdate = "10/02/2013 22:05";
 var date = fdate.split(' ')[0];
 var time = fdate.split(' ')[1];
 .....