禁用特定输入字段的特定日期

时间:2019-06-23 09:53:01

标签: javascript jquery

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

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输入字段应用于禁用日期。

有人帮忙吗?预先感谢。

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

$(function() {
$( "#datepicker" ).datepicker(
{
    beforeShowDay: function(d) {
        var day = d.getDay();
        return [(day != 0 && day != 3)];
    }
});

});

在此之前放映日期功能将限制特定日期。

答案 2 :(得分:0)

解决了......

替换下面的部分

$('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 ]
                    });