通过 jquery 使用 datepicker 获取 input(timein) 的值并添加值以设置(超时时间)
Getting value of input(timein) with datepicker via jquery and add value to set (timeout time)
美好的一天,
我正在创建一个时间 in/timeout 机制,一旦用户 select 通过下拉菜单设置超时时间(日期和时间)。
这是我的代码:
我初始化了输入框:
$('.time_in, .time_out').datetimepicker({
stepping:30
});
然后触发更改:
$('.select_book_type').change(function(){
var x = this.value;
for (var i = 0; i < time_rate.length; i++)
{
if(x == time_rate[i].id)
{
console.log(time_rate[i].rate);
var x = $(this).closest('tr');
x.find('.rate').val(time_rate[i].rate); //sets the rate of the room
//this part is my problem
var time_in = x.find('.time_in').val();
x.find('.time_out').val(time_in+time_rate[i].duration);
}
else if(x==null||x==0)
{
var x = $(this).closest('tr');
x.find('.rate').val(0);
}
}
});
我想我正在尝试使用 class .time_in
获取输入值,以用作我的 time_rate[i].duration
添加的值(例如值 = 12)但发生的事情是我无法获得 .time_in
的值,所以它只会将超时值设置为 time_rate[i].duration
(例如 12)。
我想完成的事情:
超时输入框要设置成time_in + duration = timeout
或09/02/2015 4:30 PM + 12 = 09/03/2015 4:30AM.
谢谢你,祝你有美好的一天。
你需要在添加之前将两个时间转换为毫秒,然后需要将总和转换为日期字符串
var time_inMilli=new Date(time_in).getTime();
var time_outMilli = time_inMilli+(time_rate[i].duration*3600*1000);
var time_out = new Date(time_outMilli).toLocaleString();
x.find('.time_out').val(time_out);
试试这个
HTML
<div class="container">
<div class='col-md-5'>
<div class="form-group">
<div class='input-group date'>
<input id='datetimepicker6' type='text' class="form-control" /> <span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
JS
var MinuteToAdd = 30
$(function () {
$('#datetimepicker6').datetimepicker();
$('#datetimepicker7').datetimepicker({
useCurrent: false //Important! See issue #1075
});
$("#datetimepicker6").on("dp.change", function (e) {
$('#datetimepicker7').data("DateTimePicker").minDate(e.date);
$('#datetimepicker7').data("DateTimePicker").date(e.date.add(MinuteToAdd,'m'));
});
$("#datetimepicker7").on("dp.change", function (e) {
$('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
});
});
美好的一天, 我正在创建一个时间 in/timeout 机制,一旦用户 select 通过下拉菜单设置超时时间(日期和时间)。
这是我的代码:
我初始化了输入框:
$('.time_in, .time_out').datetimepicker({
stepping:30
});
然后触发更改:
$('.select_book_type').change(function(){
var x = this.value;
for (var i = 0; i < time_rate.length; i++)
{
if(x == time_rate[i].id)
{
console.log(time_rate[i].rate);
var x = $(this).closest('tr');
x.find('.rate').val(time_rate[i].rate); //sets the rate of the room
//this part is my problem
var time_in = x.find('.time_in').val();
x.find('.time_out').val(time_in+time_rate[i].duration);
}
else if(x==null||x==0)
{
var x = $(this).closest('tr');
x.find('.rate').val(0);
}
}
});
我想我正在尝试使用 class .time_in
获取输入值,以用作我的 time_rate[i].duration
添加的值(例如值 = 12)但发生的事情是我无法获得 .time_in
的值,所以它只会将超时值设置为 time_rate[i].duration
(例如 12)。
我想完成的事情:
超时输入框要设置成time_in + duration = timeout
或09/02/2015 4:30 PM + 12 = 09/03/2015 4:30AM.
谢谢你,祝你有美好的一天。
你需要在添加之前将两个时间转换为毫秒,然后需要将总和转换为日期字符串
var time_inMilli=new Date(time_in).getTime();
var time_outMilli = time_inMilli+(time_rate[i].duration*3600*1000);
var time_out = new Date(time_outMilli).toLocaleString();
x.find('.time_out').val(time_out);
试试这个
HTML
<div class="container">
<div class='col-md-5'>
<div class="form-group">
<div class='input-group date'>
<input id='datetimepicker6' type='text' class="form-control" /> <span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
JS
var MinuteToAdd = 30
$(function () {
$('#datetimepicker6').datetimepicker();
$('#datetimepicker7').datetimepicker({
useCurrent: false //Important! See issue #1075
});
$("#datetimepicker6").on("dp.change", function (e) {
$('#datetimepicker7').data("DateTimePicker").minDate(e.date);
$('#datetimepicker7').data("DateTimePicker").date(e.date.add(MinuteToAdd,'m'));
});
$("#datetimepicker7").on("dp.change", function (e) {
$('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
});
});