1

我在输入字段下方内联显示了一个功能齐全的 jQuery 日期选择器。

我使用设置引用该字段:

altField: "#id_of_field",

没有其他设置。Datepicker 已准备好文档。

我的问题是,今天的日期是在页面加载时自动设置的(在输入字段中),而不考虑字段的状态 - 无论它是否已经具有从服务器发送的值或尚未设置。

在用户单击任何日期之前,如何防止 datepicker 在输入字段中设置一个值(由它自己)?

更新
演示:http: //jsfiddle.net/2EYFE/3/

4

4 回答 4

2

使用setDate方法,您可以通过这种方式清除输入字段状态:

$("#myDate").datepicker();
$("#myDate").datepicker('setDate', null);

编辑:http: //jsfiddle.net/2EYFE/4/

于 2013-06-30T11:22:50.370 回答
2

为什么在创建日期选择器时不使用 defaultDate 选项?这是自己设置默认值的正确方法

http://api.jqueryui.com/datepicker/#option-defaultDate

var myDefaultDate = new Date("October 1, 1975 11:13:00"); // save your default date here

$('#datepicker').datepicker({
    altField: "#event_begin_day",
    defaultDate: myDefaultDate
});
于 2013-06-30T11:51:59.960 回答
1

我曾希望 datepicker 提供一个设置来关闭自动设置日期,但似乎没有。

这是一个可行的解决方案,其中包含其他答案。

我在启动 datepicker 之前将字段的值存储在变量中,然后用变量替换 datepicker 的值选择。

var begin_day_value = $('#event_begin_day').attr('value');

$('#datepicker').datepicker({
    altField: "#event_begin_day"
  }).datepicker('setDate', begin_day_value);

http://jsfiddle.net/2EYFE/5/

于 2013-06-30T12:20:47.293 回答
0

Datapicker 为选定日期和当前日期分配不同的类。您可以从当前日期单元格中删除类或覆盖它:

当前日期 - ui-state-highlight

选定日期 - ui-state-active

因此,例如:

$("#your_element").datepicker();
$(".ui-datepicker .ui-state-hihglight").removeClass("ui-state-highlight");
于 2013-06-30T11:24:37.663 回答