jquery-ui – 我如何*完全*删除一个jQuery UI datepicker?

前端之家收集整理的这篇文章主要介绍了jquery-ui – 我如何*完全*删除一个jQuery UI datepicker?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个日期文本字段我希望只有有时附加一个DatePicker,因为我有一些我自己的文本处理脚本处理部分日期字符串。然而,调用.remove或.destroy在输入字段中留下文本格式化行为,它将我的“8”字符串转换为“8/18/2010”。更糟糕的是,如果我开始删除,它坚定地假设,一旦我达到“8/18/20”,我实际想要“8/18/2020”。

从我的页面删除datepicker是什么将是完全,完全,make-it-like – 从来没有最好的方法?我也可以使用它,如果它只是忽略我完全输入的文本,在这种情况下,我更喜欢它出现在双击/图像作为按钮,而不是总是。

编辑:

这都在一个jqGrid,其中’selector’是日期列上的文本框:

function showPicker(selector) {
    $(selector).datepicker({
        onClose: function() {
            $(selector).datepicker('remove'); 
            // or 'destroy' or $('.datepicker').remove(); or $(this).datepick('remove');
        }
    });
}

这防止它回来,但不是从操纵我的文本字段。没有其他代码(我知道)正在操作该字段的内容,只是jqGrid看输入键发送数据。查看页面生成代码,datepicker div甚至仍然在底部

edit2:我得到完全相同的行为,如果我这样做:

<html>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"  />
<script type="text/javascript">
$(document).ready( function(){
 $("#pickle").datepicker({
  onClose: function(){
   $(this).datepicker('remove');
  }
 });
});
</script>
<input type="text" id="pickle" />
</body>
</html>

这导致与我看到的相同的行为,但更改为“毁灭”在这里工作,但不是在我的页面。奇。

解决方法

这会删除.datepicker完全:
$( selector ).datepicker( "destroy" );
$( selector ).removeClass("hasDatepicker").removeAttr('id');

文档:
http://docs.jquery.com/UI/Datepicker#method-destroy也阅读下面的意见

猜你在找的jQuery相关文章