我有一个日期文本字段,我希望有时只附加一个DatePicker,因为我有一些自己的文本处理脚本来处理部分日期字符串.但是,调用.remove或.destroy会在输入字段上保留文本格式化行为,这会将我的"8"字符串转换为"8/18/2010".更糟糕的是,如果我开始删除,它坚定地认为,一旦我达到"8/18/20",我实际上想要"8/18/2020".
什么是最好的方式完全,完全,使它像从未删除我的页面中的datepicker?我也可以使用它,如果它只是忽略我在任何时候完全输入的文本,但在这种情况下,我更喜欢它出现在双击/图像按钮,而不是总是.
编辑:
这都在jqGrid中,其中'selector'是日期列上的文本框:
function showPicker(selector) {
$(selector).datepicker({
onClose: function() {
$(selector).datepicker('remove');
// or 'destroy' or $('.datepicker').remove(); or $(this).datepick('remove');
}
});
}
Run Code Online (Sandbox Code Playgroud)
这可以防止它返回,但不能操纵我的文本字段.没有其他代码(我知道)正在操纵该字段的内容,只是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>
Run Code Online (Sandbox Code Playgroud)
这导致了与我所看到的相同的行为,但将其更改为"destroy" 在这里工作但不在我的页面上.奇.
我正在使用greenDAO,到目前为止一切都很顺利.文档或网站(或任何地方:()似乎没有涉及的一件事是它如何处理线程安全.
我知道其他地方提到的基础知识,比如"使用单个dao会话"(Android + SQLite的一般做法),我非常了解Java内存模型.库内部甚至看起来是线程安全的,或者至少是用这种意图构建的.但我见过的一切都没有涵盖这个:
greenDAO默认缓存实体. 这对于完全单线程程序来说非常好 - 透明和大多数用途的大量性能提升.但是,如果我loadAll()
然后修改其中一个元素,我将在我的应用程序中全局修改同一个对象.如果我在主线程上使用它(例如用于显示),并在后台线程上更新数据库(正确和正确),除非特别小心,否则会出现明显的线程问题.
greenDAO是否在"引擎盖下"做任何事情以防止常见的应用程序级线程问题?例如,修改UI线程中的缓存实体,同时将其保存在后台线程中(更好的希望它们不会交错!特别是在修改列表时!)?是否有任何"最佳实践"来防范它们,超出了一般的线程安全问题(即greenDAO期望和适用的东西)?或者从多线程应用程序的安全角度看整个缓存是否存在致命缺陷?
我目前在Facebook的FacePile代码中遇到错误,我对原因感到困惑.
facepile.php加载一个脚本,其中包含这些行(当漂亮打印时):
...
o = document.createElement('script');
o.src = l[n];
o.async = true;
o.onload = h;
o.onreadystatechange = function() {
if (o.readyState in c) {
h();
o.onreadystatechange = null;
}
};
d++;
a.appendChild(o);
...
Run Code Online (Sandbox Code Playgroud)
(a == document.body,d ++在这里无关紧要)
这段代码用src = http://static.ak.fbcdn.net/rsrc.php/v1/yW/r/pmR8u_Z_9_0.js
或者同样神秘的东西加载一个脚本(文件名偶尔会改变).
在该脚本中,最顶部有这些线条(也是漂亮印刷时):
/*1331654128,176820664*/
if (window.CavalryLogger) {
CavalryLogger.start_js(["\/8f24"]);
}
window.__DEV__ = window.__DEV__ || 0;
if (!window.skipDomainLower && document.domain.toLowerCase().match(/(^|\.)facebook\..*/))
document.domain = window.location.hostname.replace(/^.*(facebook\..*)$/i, '$1');
function bagofholding() {
}
function bagof(a) {
return function() {
return a;
};
}
if (!Date.now)
Date.now = function …
Run Code Online (Sandbox Code Playgroud) javascript facebook internet-explorer-9 facebook-social-plugins
虽然我已经能够以编程方式添加自己的帖子数据,但我似乎无法弄清楚如何_search: true
在请求中发送此代码.
var data = grid.jqGrid("getGridParam", "postData");
data._search = true;
data.searchString = id.toString();
data.searchOper = "eq";
data.searchField = "userid";
grid.jqGrid("setGridParam", { "postData": data });
grid.trigger("reloadGrid");
Run Code Online (Sandbox Code Playgroud)
这些字段是正确添加的,但是_search的某处似乎设置为false,因为每个请求都将其设置为false.为了让它"真实",我还有其他一些事情需要做吗?我正在运行工具栏搜索,但大多数情况下,当调用此代码时,没有输入任何内容,并且我的服务器上的大量实用程序代码在处理搜索之前检查_search.