【问题标题】:Datepicker onchange submit with default valueDatepicker onchange 使用默认值提交
【发布时间】:2020-02-11 02:06:01
【问题描述】:

我正在尝试为 Gijgo Datepicker 分配默认值,但每次单击它都会提交表单,这意味着我无法更改该值。

var today, datepicker;
  today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());

  datepicker = $('#datepicker').datepicker({
    header: true, 
    uiLibrary: 'bootstrap4',
      format: 'yyyy-mm-dd',
      minDate: '2020-01-01',
      value: '2020-02-01', //add this and it broke
      showRightIcon: true,
      iconsLibrary: 'fontawesome',
      maxDate: today,
      change: function (e) { $('form').submit();}
	});
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="https://unpkg.com/gijgo@1.9.13/js/gijgo.min.js" type="text/javascript"></script>
    <link href="https://unpkg.com/gijgo@1.9.13/css/gijgo.min.css" rel="stylesheet" type="text/css" />
    
  <form action="" method="get" autocomplete="off">
    <input id="datepicker" class="" width="276" name="date" />
  </form>

它有效,但是当我不分配值时,我需要显示当前月份,这样用户就不必再次选择月份。我尝试的任何操作都破坏了输入。

提前致谢。

【问题讨论】:

    标签: javascript jquery datepicker


    【解决方案1】:

    这是你的change: function (e) { $('form').submit()}; 这样做 - 似乎它会在你更改输入后立即提交表单:请参阅下面的代码以获取解决方案。

    编辑:当用户单击特定日期时,Op 正在寻求一种方法来收听提交表单。

    您可以通过利用bootstrap datepicker events 来做到这一点

    $('.datepicker').datepicker()
        .on('changeDate', function(e) {
            // `e` here contains the extra attributes
            if(e.date === yourDate) 
                $('form').submit()
        });
    
    

    var today, datepicker;
      today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
    
      datepicker = $('#datepicker').datepicker({
        header: true, 
        uiLibrary: 'bootstrap4',
          format: 'yyyy-mm-dd',
          minDate: '2020-01-01',
          showRightIcon: true,
          iconsLibrary: 'fontawesome',
          maxDate: today
    	});
        <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
        <script src="https://unpkg.com/gijgo@1.9.13/js/gijgo.min.js" type="text/javascript"></script>
        <link href="https://unpkg.com/gijgo@1.9.13/css/gijgo.min.css" rel="stylesheet" type="text/css" />
        
      <form action="" method="get" autocomplete="off">
        <input value="2020-02-01" id="datepicker" class="" width="276" name="date" />
      </form>

    【讨论】:

    • 是的,但是有什么解决方案可以在用户点击特定日期后提交表单吗?
    • 你应该能够做到这一点......我会更新我的答案。
    猜你喜欢
    • 2017-07-20
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2021-11-29
    • 2020-11-23
    • 1970-01-01
    相关资源
    最近更新 更多