jQuery:启用/禁用datepicker

A K*_*A K 43 jquery datepicker

在我的php文件中,我想使用jQuery Datepicker.

加载我的文件时,我创建了禁用的Datepicker.

然后,当我的php文件(它是一个表单)中的特殊字段被填充时,我想启用Datepicker.

所以,最初我的Datepicker看起来像这样:

$("#from").datepicker({
    showOn: "both",
    buttonImage: "calendar.gif",
    buttonImageOnly: true,
    buttonText: "Kalender",
    showAnim: "drop",
    dateFormat: "dd.mm.yy",
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    showWeek: true,
    firstDay: 1,
    dayNamesMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
    weekHeader: "KW",
    disabled: true,
    onClose: function(selectedDate) {
        $("#to").datepicker("option", "minDate", selectedDate);
    }
});
Run Code Online (Sandbox Code Playgroud)

这工作得很好,到目前为止没问题.当我想要禁用该字段时,问题就来了.

如果填写了一个特殊字段,我会打电话 $("#from").datepicker('enable');

这也很好,但现在我想再次禁用它,如果我提到的特殊字段再次为空.

然后我使用$("#from").datepicker('disable');并且字段本身是灰色的,但我仍然可以使用该字段输入值,日历弹出,甚至框旁边的日历图像也是可点击的.

任何人都知道为什么会这样?我错过了什么吗?

koa*_*dev 63

$("#from").datepicker('disable'); 应该工作,但你也可以试试这个:

$( "#from" ).datepicker( "option", "disabled", true );
Run Code Online (Sandbox Code Playgroud)

  • @AK你能提供一个[小提琴](http://jsfiddle.net)来重现这个问题吗? (2认同)
  • 在这里http://jsfiddle.net/VMzLG/我整理了一个简单的演示,令人惊讶的是,我成功禁用它的唯一方法是使用你问题中的代码 (2认同)
  • 我终于找到了!这是一个内部错误......我们使用特殊的表单元素,在禁用该项后,我给了一个新名称...但是我忘了在新的类名中附加一个"hasDatepicker".我很抱歉,但你所有的提示都帮我解开了这个谜团.谢谢大家!!:-) (2认同)

Sha*_*are 14

禁用datePicker时,也将字段设置为禁用

$("input").prop('disabled', true);
Run Code Online (Sandbox Code Playgroud)

要停止可点击的图像,您可以取消绑定该点击事件

$('img#<id or class ref>').unbind('click');
Run Code Online (Sandbox Code Playgroud)


Kan*_*iya 14

尝试

$("#from").datepicker().datepicker('disable');
Run Code Online (Sandbox Code Playgroud)


Arz*_*rua 6

只需使用以下代码

$("#from").datepicker({
 showOn: "off"
});
Run Code Online (Sandbox Code Playgroud)

它不会显示日期选择器的显示


Chi*_*asa 6

$("#nicIssuedDate").prop('disabled', true);
Run Code Online (Sandbox Code Playgroud)

这是 100% 使用bootstrap Datepicker 工作的