【问题标题】:Get the value of bootstrap Datetimepicker in JavaScript在 JavaScript 中获取 bootstrap Datetimepicker 的值
【发布时间】:2013-05-15 19:39:55
【问题描述】:

我需要在我的 JavaScript 函数中获取 Datetimepicker 的值。我做了这样的事情,但它不起作用:

$("#date").click( function(){
    alert(document.getElementById('datetimepicker1').value);
});

它给了我'未定义'

【问题讨论】:

标签: javascript datetimepicker


【解决方案1】:

任意使用:

$("#datetimepicker1").data("datetimepicker").getDate();

或者(从查看页面源代码):

$("#datetimepicker1").find("input").val();

返回值将是Date(对于上面的第一个示例),因此您需要自己格式化:

var date = $("#datetimepicker1").data("datetimepicker").getDate(),
    formatted = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours + ":" + date.getMinutes() + ":" + date.getSeconds();
alert(formatted);

另外,您可以将格式设置为属性:

<div id="datetimepicker1" class="date">
    <input data-format="yyyy-MM-dd hh:mm:ss" type="text"></input>
</div>

你可以使用$("#datetimepicker1").find("input").val();

【讨论】:

  • 非常感谢伊恩,它现在给了我这个:2013 年 5 月 15 日星期三 21:45:37 GMT+0100 (WEST) 我需要更多帮助才能将其转换为 mysql 格式 (yyyy-mm-dd hh:mm:ss) 抱歉,我对 javascript 很陌生
  • @Dxtr 很酷,很高兴它有帮助:) 我再次更新了答案,这可能会更好——在data-format 属性中设置格式——它应该像在文本框中那样自动显示跨度>
  • 如果您不介意,我还有一个问题:如何将 javascript 变量传递给 jquery.get,例如 Query.get('data.php&var1='var11, null, function(tsv) {
  • @Dxtr 如果var11 包含您要在请求中传递的日期时间,您可以使用:jQuery.get('data.php?var1=' + encodeURIComponent(var11), null, function
  • 我正在尝试从 datetimepicker 中获取日期,您的第一行不起作用,我只能将其作为字符串获取。以下答案中的建议也是错误的并且不起作用。你如何声称你得到了日期?
【解决方案2】:

或者试试:

$("#datetimepicker").data().date;

【讨论】:

    【解决方案3】:

    文档似乎进化了。

    现在应该使用: $("#datetimepicker1").data("DateTimePicker").date()

    NB:这样做会返回 Moment object,而不是 Date 对象

    【讨论】:

      【解决方案4】:

      要调用 Bootstrap-datetimepikcer 支持的函数,您应该使用以下语法:

      $('#datetimepicker').data("DateTimePicker").FUNCTION()
      

      所以你可以试试这个功能:

      $('#datetimepicker').data("DateTimePicker").date();
      

      文档:http://eonasdan.github.io/bootstrap-datetimepicker/Functions/

      【讨论】:

        【解决方案5】:

        由于返回值发生了变化,$("#datetimepicker1").data("DateTimePicker").date() 实际上返回了一个时刻对象,正如 Alexandre Bourlier 所说:

        文档似乎进化了。

        现在应该使用:$("#datetimepicker1").data("DateTimePicker").date()。

        注意:这样做会返回 Moment 对象,而不是 Date 对象

        因此,我们必须使用 .toDate() 将该语句更改为这样的日期:

        $("#datetimepicker1").data("DateTimePicker").date().toDate();

        【讨论】:

          【解决方案6】:

          我正在使用最新的 Bootstrap 3 DateTime Picker (http://eonasdan.github.io/bootstrap-datetimepicker/)

          这就是你应该如何使用 DateTime Picker 内联:

          var selectedDate = $("#datetimepicker").find(".active").data("day");
          

          以上返回:03/23/2017

          【讨论】:

            【解决方案7】:

            我尝试了以上所有方法,但在同一个format中没有正确获取值,然后我找到了这个。

            $("#datetimepicker1").find("input")[1].value;
            

            上述代码将返回与日期时间选择器中相同格式的值。

            这可能对你们将来有所帮助。

            希望这对您有所帮助..

            【讨论】:

              【解决方案8】:

              这对我使用 Bootsrap Datetimepiker 有效,它返回的值与日期选择器输入中显示的值相同,例如2019-04-11

              $('#myDateTimePicker').on('click,focusout', function (){
                  var myDate = $("#myDateTimePicker").val();
                  //console.log(myDate);
                  //alert(myDate);
              });
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多