jquery datepicker 点击日期控件不会自动更新input的值

页面代码:
<link href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>	<link href="/static/css/main.css" rel="stylesheet" type="text/css"/><script src="http://code.jquery.com/jquery-1.8.3.js"></script><script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script><!--<script type="text/javascript" src="/static/js/jquery-1.7.2.js"></script>--><script language="javascript" type="text/javascript" src="/static/js/nav.js"></script><script language="javascript" type="text/javascript" src="/static/seg/js/report.js"></script>
<script type="text/javascript"> $(function(){ $( ".datepicker").datepicker({dateFormat: 'yy-mm-dd'}); //$.iniNav("engagement"); });</script>

  

最终效果如图所示:

但是放在engagement页面里的时候,点击选择每天的时候,不能自动更新到input里面去。单步调试代码,发现,input能够定位到,而且代码执行的过程中有获取到点击的按钮对应的当天的日期。
在jqueryUI里对应的代码块儿如下:
	/* Update the input field with the selected date. */_selectDate: function(id, dateStr) {var target = $(id);var inst = this._getInst(target[0]);dateStr = (dateStr != null ? dateStr : this._formatDate(inst));if (inst.input)inst.input.val(dateStr);this._updateAlternate(inst);var onSelect = this._get(inst, 'onSelect');if (onSelect)onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callbackelse if (inst.input)inst.input.trigger('change'); // fire the change eventif (inst.inline)this._updateDatepicker(inst);else {this._hideDatepicker();this._lastInput = inst.input[0];if (typeof(inst.input[0]) != 'object')inst.input.focus(); // restore focusthis._lastInput = null;}},

  关键的赋值代码在  inst.input.val(dateStr);而且这句执行结束的时候,input的value的确被改掉了成为最新的,但是input里看不到任何效果。

原因在哪?
我只能查看返回的input的context哪里不同,进行对比:
能正常显示点击的最新日期的input:

                                            

                                                                   

区别:

  baseURL:

  1. clientHeight: 20
  2. clientLeft: 1
  3. clientTop: 1
  4. clientWidth: 165

  jQuery183017439375561662018

  1. offsetHeight: 22
  2. offsetLeft: 81
  3. offsetParent: <li>
  4. offsetTop: 1
  5. offsetWidth: 167
但是我手动给input指定宽高不能解决问题,还是逐步调试,发现我每次clone的demo其实不是页面里的那个demo,而是绑定了datepicker以后的,或者说经过”修改“的demo-div。
于是将demo移到content_wrapper的外面(因为我每次重新绘图要把原来的div),用$('.demo')直接找到用来被克隆的div。
然后新的问题出现了,每次我点击新生成图表上的日历控件都会定位到我的demo上面的input.... 见网上有说是因为focus的缘故....

后来发现,其实这个问题是由我的代码自己造成的,每次clone过去的代码是包含了datepicker的事件的,也就是说如果我在创建新的graphBox,(执行graphBox.prototype._createBox以后)再去绑定datepicker事件就不会出现这样的情况了。。。改成现在这样:

graphBox = function(opt){this.content_wrapper = opt.content_wrapper;this.demo_graph_body = opt.demo_graph_body;this.bookmarkID = opt.bookmarkID;this._createBox();	this._createDatePicker();			this._handleActions();	this._drawChart();}

  其中this._createDatePicker();   的代码如下:

graphBox.prototype._createDatePicker = function(){$(this.graph_body).find(".datepicker").datepicker({dateFormat: 'yy-mm-dd'});	
}

  这里只设置了datepicker的dateFormat: 'yy-mm-dd',未做其他任何设定。

通过测试,ok了。。。。

转载于:https://www.cnblogs.com/xiami303/archive/2012/12/21/2828416.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个b+树库存放多少索引记录

MySQL中InnoDB页的大小默认是16k。也可以自己进行设置。&#xff08;计算机在存储数据的时候&#xff0c;最小存储单元是扇区&#xff0c;一个扇区的大小是 512 字节&#xff0c;而文件系统&#xff08;例如 XFS/EXT4&#xff09;最小单元是块&#xff0c;一个块的大小是 4KB。…

检索函数retrieve

转载于:https://www.cnblogs.com/flowjacky/archive/2012/12/28/2836729.html

BootCDN——React入门学习

首先下载:react依赖&#xff1a;react.js、react-dom.js、babel.js 这种方式容易出错&#xff0c;所以不使用这个 使用下面方式正真的用法;Babel 中文网 Babel - 下一代 JavaScript 语法的编译器

redis事务命令复习

命令复习&#xff1a; multi&#xff1a;开启事务 开启事务之后&#xff0c;讲要操作的命令都放到了QUEUED&#xff08;queued&#xff09;队列里&#xff0c;然后通过EXEC命令一起提交。 对于WATCH命令&#xff1a; 开启了事务&#xff0c;没有提交&#xff0c;这时候又有一…

STM32示波器 信号发生器

关于stm32的示波器&#xff0c;网上以经有很多了。这里还是想把自己的设计思想发表出来。这个项目已经准备了很久。这里首先要感谢以前的团队&#xff0c;非常感觉陈师和覃总两位经验丰富的嵌入式工程师&#xff0c;获得了不少多方面的考虑。如果不是工作调整等原因&#xff0c…

FlashPaper安装及使用方法

FlashPaper安装及使用方法 一、FlashPaper的安装 第一步&#xff1a;下载FlashPaper2.2安装包 点击下面链接下载FlashPaper2.2 FlashPaper2.2下载 第二步&#xff1a;安装FlashPaper2.2 将zip压缩包解压至磁盘的某一文件夹中&#xff0c;注意&#xff0c;此版本FlashPaper为了能…

redis的lua脚本解决原子操作

使用一个简单的工具类 代码示例&#xff1a;

redis集群异步复制造成锁丢失(分布式锁)

在redisConfig配置类注入bean Configuration public class RedisConfig {Beanpublic RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){RedisTemplate<String, Object> template new RedisTemplate<String, Object>();templat…

redis内存默认值调整

redis一般设置物理内存的3/4 redis.conf配置文件修改maxmemory这个值来调整redis的内存大小 info memory命令可用查看redis内存使用情况 info可用查询redis下的各种命令

mysql支持的存储引擎

SHOW ENGINES; 默认支持innodb&#xff0c;其他存储引擎都不支持事务 innodb存储引擎的架构&#xff1a;

滤镜混合应用

混合滤镜使用&#xff1a;创建一个滤镜对象&#xff1b; 创建一个数组&#xff0c;并将滤镜的对象添加到该数组当中&#xff1b; 利用影片剪辑的filters属性&#xff0c;将数组当中的效果赋予该影片剪辑即可12345678import flash.display.Bitmap; import flash.display.…

Java Swing 树状组件JTree的使用方法【图】

树中特定的节点可以由 TreePath&#xff08;封装节点及其所有祖先的对象&#xff09;标识&#xff0c;或由其显示行&#xff08;其中显示区域中的每一行都显示一个节点&#xff09;标识。展开 节点是一个非叶节点&#xff08;由返回 false 的 TreeModel.isLeaf(node) 标识&…

实测java 与php运行速度比较

java如下 public class aa{ public static void main(String[] args){ System.out.println(System.currentTimeMillis()"----"); int a0; int i; for(i0;i<10000000;i){ a; } System.out.println(System.currentTimeMillis()); } } php如下 <? echo microtime…

HA双机热备配置

HA&#xff08;高可用性集群&#xff09;当主机处于工作状态时&#xff0c;从机处于休眠状态&#xff0c;当主机宕机时&#xff0c;从机便会开始工作&#xff0c;让用户几乎感觉不到服务的中断&#xff0c;类似于网络路由配置中的备份。当主机存活时&#xff0c;所有的资源全在…

我的服装DRP之开发感悟

先向各位拜个晚年。 今年过年期间都在想DRP的事&#xff0c;很多朋友也联系我&#xff0c;讨论技术问题的、谋求合作的、分析行业前景的、让我提供源码和数据库的都有。再次谢谢朋友们的关心。目前来说&#xff0c;在修改系统bug的同时&#xff0c;我打算重新找一份工作&#x…

iOS开发那些事-iOS常用设计模式–委托模式案例实现

书接上回&#xff0c;应用案例 我们以UITextFieldDelegate为例来说明一下委托的使用。 UITextFieldDelegate是控件UITextField的 委托&#xff0c;控件的委托主要负责响应控件事件或控制其他对象。除了UITextField&#xff0c;WebView、UITableView等控件也有相应的委托对象。 …

Windows API 逐个逐个学MessageBox(5) 遍历驱动器并获取驱动器属性 GetLogicalDriveStrings、GetDriveTypeA...

首先还是贴代码 VC Code: /* *************************************《精通Windows API》 * 示例代码* GetVolumeInfo.c* 4.2.1 遍历驱动器并获取驱动器属性**************************************//* 头文件 */ #include <windows.h> #include <stdlib.h> #i…

linux下搭建nagios监控

一、什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务&#xff0c;同时提供异常通知功能等。Nagios可运行在Linux/Unix平台之上&#xff0c;同时提供一个可选的基于浏览器的WEB界面以方便系统管理人…