jQuery DateInput Destroy

时间:2011-08-10 18:37:39

标签: jquery date

使用

中的jQuery工具DateInput API

http://flowplayer.org/tools/dateinput/

我需要在普通输入框和用于日期输入控件的框之间切换输入框。

使用以下内容切换dateinput日历时我没有问题:

$('#value').dateinput({selectors:true, max: endDay(new Date()), yearRange:[-10,5] });

我遇到的问题是,当我需要将输入框切换回正常状态,而不是将其作为日期输入时,我不能。例如,我想象会有一个API调用,如下所示:

$('#value').dateinput('destroy');

有人知道我能做到什么吗?

2 个答案:

答案 0 :(得分:4)

通过.replaceAll().replaceWith()替换为新输入。

$("#value").replaceWith("<input>");

答案 1 :(得分:1)

来源在这里: https://github.com/jquerytools/jquerytools/blob/master/src/dateinput/dateinput.js

乍一看,似乎没有一种破坏方法,但你可以隐藏它并取消绑定焦点并单击该元素以有效地“删除”它?

不幸的是它没有与命名空间绑定,因此您必须取消绑定输入上的所有焦点/单击事件。如果你有其他需要保留的行为,那么这可能是不可行的。

类似的东西:

$('#value').dateinput('hide');
$('#value').unbind('click').unbind('focus');

编辑:还

$('#value').data('dateinput', null);

如果您想尝试重新打开它。我没有仔细阅读源代码,看看在简单地删除事件处理程序后重新打开它会导致问题。