【问题标题】:How to get actual date value from hidden date input field of (mdbootstrap) "pickadate" using jQuery?如何使用jQuery从(mdbootstrap)“pickadate”的隐藏日期输入字段中获取实际日期值?
【发布时间】:2021-04-08 17:47:31
【问题描述】:

在 mdbootstrap datepicker1 中,需要格式化 (yyyy-mm-dd / yyyy/mm/dd) 而不是字符串格式的日期,例如“2020 年 12 月 1 日”。如何使用 jquery 从隐藏的输入字段中获取它?

<div class="md-form ">
      <input placeholder="" type="text" id="cp_date" name="cp_date" class="form-control datepicker" data-value="<?php echo '['.date('Y,M,d').']' ; ?>" autofocus="" onchange="getdate()" >
      <label for="cp_date" class="font-weight-bold">Crawled Date: </label>
</div>

功能是:

function getdate() {
var c_date = $('cp_date').val(); alert(c_date);}

调用pickadate

$('.datepicker').pickadate();

它变得像“2020 年 12 月 1 日”。但我需要像“2020/12/01”这样的。

【问题讨论】:

  • 请点击编辑,然后点击[&lt;&gt;]sn-p编辑并提供minimal reproducible example
  • 你在使用 datepicker 插件吗?
  • 请使用相关框架和插件更新问题。
  • 所以你需要定义 dateFormat$( ".datepicker" ).datepicker({ "dateFormat":"yy-mm-dd" });
  • 我使用的是 pickadate.js 而不是 datepicker

标签: jquery datepicker


【解决方案1】:

您可以在 jQueryUI Datepicker 插件 中更改日期格式,如 yyyy-mm-ddyyyy/mm/dd 通过选项方法 dateFormat: 'yy-mm-dd' 或 dateFormat:'yy/mm/dd'

来源:https://jqueryui.com/datepicker/#date-formats

$(function() {
    $('.datepicker1').datepicker({
      dateFormat: 'yy-mm-dd',
      onSelect: function(dt){
        alert(dt)
      }
    });
    $('.datepicker2').datepicker({
      dateFormat: 'yy/mm/dd',
      onSelect: function(dt){
        alert(dt)
      }
    });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<div>
  Date <small>(YYYY-MM-DD)</small> :<br>
  <input type="text" class="datepicker1" size="30" placeholder="YYYY-MM-DD">
</div>
<br>
<br>
<div>
  Date <small>(YYYY/MM/DD)</small>:<br>
  <input type="text" class="datepicker2" size="30" placeholder="YYYY/MM/DD">
</div>

【讨论】:

【解决方案2】:

是的,我已经找到了正确的解决方案。我所做的就像......

$('.datepicker').pickadate({formatSubmit: 'yyyy/mm/dd',hiddenName: true});

这是.datepicker 类的第一次调用。然后更改函数getdate()

function getdate() {var c_date = $("input[name=cp_date]").val(); alert(c_date);}

这个hiddenName: true 就像它从日期输入字段中删除名称属性并将其添加到隐藏的输入字段一样。那么使用$("input[name=cp_date]").val(); 很容易获得价值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    相关资源
    最近更新 更多