在 DateBox Jquery Mobile 中动态设置日期和时间
Dynamically setting date and time in DateBox Jquery Mobile
我需要将日期和时间动态填充到 JQuery DataBox 输入字段。我尝试这样做,但无论我传递的数据如何,它都会在输入字段中填充当前日期。
这是我要克隆到我的界面中动态拥有的日期选择器。
Html:-
<input class="time-input day-time-picker day-time-picker-inline-input" type="text" data-role="datebox" data-options='{"mode":"datebox", "useFocus": true}' style="width:8em" />
Javascript:-
var datePicker = $("#date-time-picker-template-container .date-time-picker-template").clone();
我创建一个时间选择器并像上面那样克隆,
Html :-
var timePicker = $("#time-picker-template-container .time-picker-template").clone();
Javascript:-
<input class="time-input day-time-picker day-time-picker-inline-input" type="text" data-role="datebox" data-options='{"mode":"timebox", "useFocus": true}' />
插入日期
$(".time-input", datePicker).datebox();
$(".time-input", datePicker).datebox("refresh");
$(".time-input", datePicker).datebox('setTheDate', dynamicDate);
插入时间
$(".time-input", dayTimePicker).datebox();
$(".time-input", dayTimePicker).datebox("refresh");
$(".time-input", dayTimePicker).val('datebox', {'method':'set', 'value':dynamicTime});
我想根据收到的响应为这些 DateBox 输入字段动态设置日期和时间。
是否有任何控件可以使用 DateBox 在单个控件中获取日期和时间?
谢谢。
克隆您的模板,将它们添加到容器 DOM 元素中,然后告诉该元素使用 enhanceWithin()。这将创建数据框小部件,然后使用 setTheDate 方法设置日期和时间:
$("#btnAdd").on("click", function(){
var dynamicDate = new Date(2014,3,22,10,11,0,0);
var datePicker = $("#templates .date-time-picker-template").clone();
var dayTimePicker = $("#templates .time-picker-template").clone();
$("#time-picker-block").append(datePicker).append(dayTimePicker).enhanceWithin();
$(".date-input", datePicker).datebox('setTheDate', dynamicDate);
$(".time-input", dayTimePicker).datebox('setTheDate', dynamicDate);
});
我不确定我是否遵循了您要完成的目标,但是是的,有一种模式允许同时进行日期和时间操作 - slidebox。
您将需要设置(至少)以下选项:
{
mode = "slidebox",
overrideSlideFieldOrder = ["y","m","d","h","i"],
overrideDateFormat = "%Y-%m-%d %k:%M
}
就其价值而言,flipbox 可以可能 进行更改以与两者一起使用,但这并非微不足道。 datebox 可能已经可以工作了(我从未尝试过),但你需要对 CSS 进行相当大的改动 - 至少首先要使控件更宽。
我需要将日期和时间动态填充到 JQuery DataBox 输入字段。我尝试这样做,但无论我传递的数据如何,它都会在输入字段中填充当前日期。
这是我要克隆到我的界面中动态拥有的日期选择器。
Html:-
<input class="time-input day-time-picker day-time-picker-inline-input" type="text" data-role="datebox" data-options='{"mode":"datebox", "useFocus": true}' style="width:8em" />
Javascript:-
var datePicker = $("#date-time-picker-template-container .date-time-picker-template").clone();
我创建一个时间选择器并像上面那样克隆,
Html :-
var timePicker = $("#time-picker-template-container .time-picker-template").clone();
Javascript:-
<input class="time-input day-time-picker day-time-picker-inline-input" type="text" data-role="datebox" data-options='{"mode":"timebox", "useFocus": true}' />
插入日期
$(".time-input", datePicker).datebox();
$(".time-input", datePicker).datebox("refresh");
$(".time-input", datePicker).datebox('setTheDate', dynamicDate);
插入时间
$(".time-input", dayTimePicker).datebox();
$(".time-input", dayTimePicker).datebox("refresh");
$(".time-input", dayTimePicker).val('datebox', {'method':'set', 'value':dynamicTime});
我想根据收到的响应为这些 DateBox 输入字段动态设置日期和时间。
是否有任何控件可以使用 DateBox 在单个控件中获取日期和时间?
谢谢。
克隆您的模板,将它们添加到容器 DOM 元素中,然后告诉该元素使用 enhanceWithin()。这将创建数据框小部件,然后使用 setTheDate 方法设置日期和时间:
$("#btnAdd").on("click", function(){
var dynamicDate = new Date(2014,3,22,10,11,0,0);
var datePicker = $("#templates .date-time-picker-template").clone();
var dayTimePicker = $("#templates .time-picker-template").clone();
$("#time-picker-block").append(datePicker).append(dayTimePicker).enhanceWithin();
$(".date-input", datePicker).datebox('setTheDate', dynamicDate);
$(".time-input", dayTimePicker).datebox('setTheDate', dynamicDate);
});
我不确定我是否遵循了您要完成的目标,但是是的,有一种模式允许同时进行日期和时间操作 - slidebox。
您将需要设置(至少)以下选项:
{
mode = "slidebox",
overrideSlideFieldOrder = ["y","m","d","h","i"],
overrideDateFormat = "%Y-%m-%d %k:%M
}
就其价值而言,flipbox 可以可能 进行更改以与两者一起使用,但这并非微不足道。 datebox 可能已经可以工作了(我从未尝试过),但你需要对 CSS 进行相当大的改动 - 至少首先要使控件更宽。