我有一个日期文本字段,我只希望
有时
附加一个DatePicker到,因为我有一些自己的文本处理脚本,可以处理部分日期字符串。但是,调用.remove或.destroy会在输入字段上留下文本格式化行为,这会将我的"8“字符串转换为"8/18/2010”。更糟糕的是,如果我开始删除,它会坚定不移地假设,一旦我达到"8/18/20",我就会
实际上
想要“2020年8月18日”。
从我的页面上完全地、完全地、像从不是地删除日期选择器的最好方法是什么?如果它一直完全忽略我输入的文本,我也可以使用它,但在这种情况下,我更希望它出现在双击/图像按钮上,而不是总是出现在双击/图像按钮上。
编辑:
这一切都在一个选择器中,其中‘jqGrid’是日期列上的一个文本框:
function showPicker(selector) {
$(selector).datepicker({
onClose: function() {
$(selector).datepicker('remove');
// or 'destroy' or $('.datepicker').remove(); or $(this).datepick('remove');
}
});
}
这将阻止它返回,但不能操作我的文本字段。没有其他代码(据我所知)正在操作该字段的内容,只是jqGrid在等待enter键发送数据。查看页面生成的代码,datepicker div甚至还在底部。
edit2:如果我这样做,我会得到完全相同的行为:
$(document).ready( function(){
$("#pickle").datepicker({
onClose: function(){
$(this).datepicker('remove');
}
});
});
这会导致与我看到的行为相同的行为,但将其更改为“destroy”有效
这里
但不是在我的页面上。很奇怪。
发布于 2011-11-04 21:59:36
这将删除
完全:
$( selector ).datepicker( "destroy" );
$( selector ).removeClass("hasDatepicker").removeAttr('id');
文档:
https://api.jqueryui.com/datepicker/#method-destroy
也请阅读下面的评论
发布于 2011-11-22 22:00:40
我删除了datepicker类,然后在绑定到datepicker的元素上调用unbind方法,从而解决了这个问题。这似乎摆脱了它!
例如:
$('#myelement').datepicker();
/////////datepicker attached to myelement//////
然后:
$('#myelement').removeClass('calendarclass');
$('#myelement').removeClass('hasDatepicker');
$('#myelement').unbind();
删除类仍然允许输入元素在单击时调用datepicker。可能
单枪匹马就可以完成这项工作,但我是个精力充沛的家伙。
发布于 2010-08-19 05:51:27
根据您的情况,您可以在服务器端执行此操作
例如。
在类似asp的系统中
<% if( showDatePicker ) {%>
$('#dp-div').DatePicker(); // or whatever
<% } %>
编辑
如何设置
dateFormat
datepicker的?即
$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });
你可能想要
$( ".selector" ).datepicker({ dateFormat: '...' });
https://stackoverflow.com/questions/3516995
复制相似问题