【问题标题】:Disable specific dates for a specific input field禁用特定输入字段的特定日期
【发布时间】:2019-06-23 09:53:01
【问题描述】:

我想为日期选择器日历的特定输入字段禁用一些数组日期。但是这些日期不会在该特定输入字段的日历中禁用。

html

 <input class="form-control time_slot_searchField" id="datepicker" name="" type="text"  required="" style="">
<input class="form-control" id="patient_email" type="email" placeholder="Email" name="patient_email">
<input class="form-control" id="patient_name" type="text" placeholder="Full Name" name="patient_name">

脚本

var exclude = ["2019-06-14","2019-06-15","2019-06-16"]

                $('input').datepicker({
                    beforeShowDay: function(date){
                        var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
                        return [ exclude.indexOf(day) == -1 ]
                    }
                });

此日期禁用脚本在所有输入字段中应用。

但我只想将脚本应用于 id #datepicker 输入字段。

这就是我使用的原因 $('input #datepicker').datepicker 而不是 $('input').datepicker

但不起作用。

如何仅在 ID datepicker 输入字段中应用禁用日期。

有人帮忙吗?提前致谢。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您的选择器不正确。 “输入”和“#datepicker”之间不应有空格。应该是这样的

    $('input#datepicker').datepicker({
                        beforeShowDay: function(date){
                            var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
                            return [ exclude.indexOf(day) == -1 ]
                        }
                    });
    

    【讨论】:

      【解决方案2】:
      $(function() {
      $( "#datepicker" ).datepicker(
      {
          beforeShowDay: function(d) {
              var day = d.getDay();
              return [(day != 0 && day != 3)];
          }
      });
      

      });

      这里之前显示日期功能会限制具体日期。

      【讨论】:

      • 尝试在html中添加这个
      【解决方案3】:

      解决了....!!!

      替换下面的部分

      $('input').datepicker({
                      beforeShowDay: function(date){
                          var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
                          return [ exclude.indexOf(day) == -1 ]
                      }
                  });
      

      有了这个

      $('#datepicker').datepicker('option', 'beforeShowDay', function(date){
                              var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
                              return [ msg.indexOf(day) == -1 ]
                          });
      

      【讨论】:

        猜你喜欢
        • 2020-07-19
        • 2023-04-04
        • 2013-08-22
        • 1970-01-01
        • 2011-07-16
        • 2018-03-17
        • 1970-01-01
        • 2017-07-31
        • 1970-01-01
        相关资源
        最近更新 更多