[英]Setting max time in jQuery Timepicker
以下是“我的时间选择器”的当前JQuery。 如果从#from
字段中选择了时间, #to
将#to
最大时间设置为所选时间。
如果我从#from
最多可以选择#to
的凌晨1点起。
var osmaxtime = '20';
$('#from').timepicker({ 'minTime': '9','maxTime': '8','scrollDefaultNow': true,'step': 60 });
$('#from').on('changeTime', function() {
var sFrom=$(this).val();
$('#to').timepicker({ 'minTime': '9','maxTime':sFrom,'scrollDefaultNow': true,'step': 60 });
});
$('#to').timepicker({ 'minTime': '9','maxTime': osmaxtime,'scrollDefaultNow': true,'step': 60 });
现在我想根据#from
字段增加#to
字段的最#from
。
例如,如果我从#from
最长时间开始#to
凌晨1点是凌晨4点(+4小时)
$('#from').on('changeTime', function() {
var sFrom=$(this).val();
var sFromPuls=sFrom+4;// Here is the problem because the value of sFrom is in String or something else.
$('#to').timepicker({ 'minTime': '9','maxTime':sFrom,'scrollDefaultNow': true,'step': 60 });
});
用数字将var包围起来,以使jQuery将其识别为数字,并向其添加4
$('#from').on('changeTime', function() {
var sFrom=$(this).val();
var sFromPuls=Number(sFrom)+4; // Surround with Number()
$('#to').timepicker({ 'minTime': '9',
'maxTime':sFromPuls, //write correct var name
'scrollDefaultNow': true,
'step': 60 });
});
您可以参考onSelect文档并在时间选择器上使用它
$('#example').datetimepicker({
onSelect: function(){
//Here you can add 4 hours to the start time
}
});
我的问题通过以下代码解决了-
$('#from').timepicker({ 'minTime': 8,'maxTime': 20,'scrollDefaultNow': true,'step': 60 });
$('#from').on('change', function() {
var fromTime=$(this).val();
var hrs = Number(fromTime.match(/^(\d+)/)[1]);
var format = fromTime.match(/00(.*)$/)[1];
if (format == "pm" && hrs < 12) hrs = hrs + 12;
if (format == "am" && hrs == 12) hrs = hrs - 12;
var hours = (hrs+4).toString();
var sFromPuls= (parseInt(osSeletecdTime)+4).toString();
$('#to').timepicker({ 'minTime': fromTime,'maxTime':hours ,'scrollDefaultNow': true,'step': 60 });
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.