在 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);
});

DEMO

我不确定我是否遵循了您要完成的目标,但是是的,有一种模式允许同时进行日期和时间操作 - slidebox。

您将需要设置(至少)以下选项:

{
  mode = "slidebox",
  overrideSlideFieldOrder = ["y","m","d","h","i"],
  overrideDateFormat = "%Y-%m-%d %k:%M
}

就其价值而言,flipbox 可以可能 进行更改以与两者一起使用,但这并非微不足道。 datebox 可能已经可以工作了(我从未尝试过),但你需要对 CSS 进行相当大的改动 - 至少首先要使控件更宽。