jQuery datepicker自动更改输入值

时间:2010-01-20 02:33:02

标签: jquery datetime jquery-ui datepicker uidatepicker

所以我正在构建一个应用程序,数据从数据库返回,其中日期可以是多种不同的格式,即'2008','05/22/99','8/20/2004'。例如,假设用户想要通过单击“编辑”按钮来编辑日期(2009)。在编辑窗口中,它应该显示一个输入框,其中包含年份'2009'。然而,问题是,datepicker看到了2009年,并不认为这种日期格式是默认格式,而是插入今天的日期。

这显然是一个巨大的问题,当有人去编辑日期时,这不可避免地会引起一些混乱。

有没有办法让这种行为停止?我在设置中遗漏了一些简单的东西吗?

对不起,我没有网上的例子,非常感谢任何对如何克服这个问题有任何想法的人。

谢谢,

杰夫

5 个答案:

答案 0 :(得分:1)

通常它不会改变它..

http://jqueryui.com/demos/datepicker/处的示例没有按照您的描述进行操作。因此,它可能是您使用的选项之一,或者您已截获的事件,如onClose ..

向我们展示一些代码..

答案 1 :(得分:1)

最好的情况是以完全相同的格式在数据库中存储日期。下一个最好的情况,在服务器上或使用javascript重新格式化日期,以便给予datepicker的日期都采用相同的格式,使每个人的生活更轻松。

Javascript有plenty of ways to manipulate dates

答案 2 :(得分:0)

在将datepicker附加到文本框之后,您应该使用JQuery设置文本框的值。

$('txtBox').datepicker();
$('txtBox').val('2009');
or
document.getElementById('txtBox').value = '2009';

只要在附加了datepicker代码后执行此操作,就不应覆盖预设值。

答案 3 :(得分:0)

显然在初始化原始datepicker之后设置了datepicker选项后会出现此问题。

之前发布的这个链接工作正常,但这不能解释我的问题:http://jsbin.com/axipe

可能是个错误?

感谢大家的建议和意见!

干杯,

杰夫

答案 4 :(得分:0)

原始doc的示例不提供set输入值,这里是使用onClose设置输入值的示例。请查看jsfiddle.net/ray202/XdMkQ /