为了账号安全,请及时绑定邮箱和手机立即绑定

将日期范围传递给单独的输入

将日期范围传递给单独的输入

跃然一笑 2023-10-30 15:49:18
我刚刚学习 JS,有一个关于使用日期范围选择器的问题。我想使用这种类型的选择,但是如何将开始和结束时间传递到 startDate 和 endDate 输入框?HIDDEN: <input type="text" class="form-control" name="startDate" id="inlineFormInputGroup" placeholder="Start Date">HIDDEN: <input type="text" class="form-control" name="endDate" id="inlineFormInputGroup" placeholder="End Date">SHOWN on PAGE: <input type="text" class="form-control" name="date" id="demo" >$('#demo').daterangepicker({    ranges: {        'Today': [moment(), moment()],        'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],        'Last 7 Days': [moment().subtract(6, 'days'), moment()],        'Last 30 Days': [moment().subtract(29, 'days'), moment()],        'This Month': [moment().startOf('month'), moment().endOf('month')],        'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]    },    "startDate": "03/27/2020",    "endDate": "04/02/2020"},     );});我在这里搜索,但一切都指向 python 脚本。这是 HTML 页面中的 JS。
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

我能够通过使用正确的方法分配给 JS 中的输入来使其工作。



  $('input.date_range').daterangepicker({

    autoApply:true,

    ranges: {

       'Today': [moment(), moment()],

       'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],

       'Last 7 Days': [moment().subtract(6, 'days'), moment()],

       'Last 30 Days': [moment().subtract(29, 'days'), moment()],

       'This Month': [moment().startOf('month'), moment().endOf('month')],

       'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]

   },




   });


  $('form').submit(function (ev, picker) {

      [startDate, endDate] = $('.date_range').val().split(' - ');

      $(this).find('input[name="datemin"]').val(startDate);

      $(this).find('input[name="datemax"]').val(endDate);

  });


形式


  <form>


  <div class="form-row align-items-center">

    <div class="col-auto">

      <input type="hidden" name="datemin">

      <input type="hidden" name="datemax">

      <label class="sr-only" for="inlineFormInput">Select Date Range</label>

      <input type="text" class="form-control mb-2 date_range" id="inlineFormInput" size="30">

    </div>

    <div class="col-auto">

      <button type="submit" class="btn btn-primary mb-2">Submit</button>

    </div>

  </div>

  </form>

https://jsfiddle.net/erkc64ot/5/


查看完整回答
反对 回复 2023-10-30
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您似乎可以执行以下操作:

<input type="text" name="daterange" value="" />

<input type="text" name="startdate" value="" />

<input type="text" name="enddate" value="" />


<script>

$(function() {

  $('input[name="daterange"]').daterangepicker({

    opens: 'left'

  }, function(start, end, label) {

    $input[name="startdate"].value = start.format('MM-DD-YYYY')

    $input[name="enddate"].value = end.format('MM-DD-YYYY')

  });

});

</script>


查看完整回答
反对 回复 2023-10-30
  • 2 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信