【发布时间】:2015-05-23 03:25:43
【问题描述】:
我的代码有效,但它会在正确更新字段之前抛出 NaN“不是数字”。我只是对效率很挑剔,因为第二个字段将是一个隐藏的管理字段,因为这是为了修复一个错误,即 CRM 在与重力表单同步到 Agilecrm 时由于某种未知原因减去一天,所以我需要而是推送 +1 日期。
这是我的代码。正如我所说,它有效,但我想知道是否有一个更干净的纯 jQuery 方法,而无需在 javascript 之间来回交叉。尽管使用 javascript 的其他解决方案可能很有用。我知道我可能会在某处放置某种 if not (!datepicker) 逻辑,但需要语法和最佳实践来做到这一点。
问的原因:很多地方的答案就是使用:
newdate.setDate(newdate.getDate() + 1);
但是,直到我找到额外的连接设置以将最终的 mm/dd/yyyy 格式组合在一起以解决此问题,此答案才起作用,而且我也没有在 document.ready 上看到一个好的 jQuery 监听模糊事件解决方案更新任何其他文章中的另一个日期字段,因此认为这值得花时间讨论。
还有here's a link 到包含表单和已填充的固定日期字段的页面。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#input_6_4").blur(function(){
var tt = $("#input_6_4").val();
//alert(tt);
var date = new Date(tt);
var newdate = new Date(date);
newdate.setDate(newdate.getDate() + 1);
var dd = newdate.getDate();
var mm = newdate.getMonth() + 1;
var y = newdate.getFullYear();
var FixDate = mm + '/' + dd + '/' + y;
// alert(FixDate);
$("#input_6_14").attr('value',FixDate);
});
});
</script>
【问题讨论】:
-
您的第一个日期字段模糊事件有太多的 ajax 调用?我可以知道这是为什么吗?
-
不确定您指的是什么。你的意思是我如何使它成为一个嵌套函数?我知道这是不正确的,只是我让它工作并想要正确的解决方案,因为我学会了更干净地编码。您在下面的回答解决了我注意到的另一个问题,即如果用户选择该月的最后一天,脚本不会增加月份。我已经开始编写一组复杂的嵌套 if(then) 参数。你是怎么处理的?我不知道在哪里或如何解决它。
标签: date datepicker increment blur document-ready