转载:http://codego.net/63433/

jquery-ui 日期选择器datepicker
我想用 jQueryUI 的 DatePicker ,并显示“今天”按钮, 但它不工作,它也不会在演示工作: 我想补今天的输入时,按下此按钮。 是否有可能得到它的工作?
------------------------------------------------------------------------------------------------------------------------- 
1. 他们的代码是不是真的坏了。它只是没有做什么,大多数人会想到它做的。这是今天的日期,进入输入框。它所做的,就是亮点,看看在日历上今天的日期。如果他们离开,再过一个月或一年,日历弹出回到今天的视图 CodeGo.net,而无需取消已选定的日期。 为了使它更加直观,你需要更新插件代码,以满足您的需求。知道如何去。 你需要得到的jQuery UI的JavaScript的版本。我期待在1.7.2版本和“_gotoToday”函数上线6760。只需添加一个调用到该_gotoToday是激发了上线6831的_selectDate()函数。 :)快乐编码。

2. 我不喜欢修改它消除能力的CDN jQuery的源代码的解决方案。相反,你可以通过在你的页面的范围的JavaScript文件的代码(基于@meesterjeeves接听)重新分配_gotoToday函数:

$.datepicker._gotoToday = function(id) {var target = $(id);var inst = this._getInst(target[0]);if (this._get(inst, 'gotoCurrent') && inst.currentDay) {inst.selectedDay = inst.currentDay;inst.drawMonth = inst.selectedMonth = inst.currentMonth;inst.drawYear = inst.selectedYear = inst.currentYear;}else {var date = new Date();inst.selectedDay = date.getDate();inst.drawMonth = inst.selectedMonth = date.getMonth();inst.drawYear = inst.selectedYear = date.getFullYear();// the below two lines are newthis._setDateDatepicker(target, date);this._selectDate(id, this._getDateDatepicker(target));}this._notifyChange(inst);this._adjustDate(target);
}

上面的代码基本上是从1.10.1版本的jQuery UI的DatePicker,除了上面标有两行。整个喃喃巨无霸与gotoCurrent因为该选项是没有意义的与我们的“今天”,其实是可以去掉。

3. 就在下面的两行代码添加到_gotoToday函数...

/* Action for current link. */
_gotoToday: function(id) {var target = $(id);var inst = this._getInst(target[0]);if (this._get(inst, 'gotoCurrent') && inst.currentDay) {inst.selectedDay = inst.currentDay;inst.drawMonth = inst.selectedMonth = inst.currentMonth;inst.drawYear = inst.selectedYear = inst.currentYear;}else {var date = new Date();inst.selectedDay = date.getDate();inst.drawMonth = inst.selectedMonth = date.getMonth();inst.drawYear = inst.selectedYear = date.getFullYear();}this._notifyChange(inst);this._adjustDate(target);/* ### CUSTOMIZATION: Actually select the current date, don't just show it ### */this._setDateDatepicker(target, new Date());this._selectDate(id, this._getDateDatepicker(target));
},

4. 虽然我知道这已经被接受,这是我扩展的解决方案基于萨米锌的想法。这个jQuery 1.6.3和jQuery UI 1.8.16,并且工作在Firefox 6。

$('.ui-datepicker-current').live('click', function() {// extract the unique ID assigned to the text input the datepicker is for// from the onclick attribute of the buttonvar associatedInputSelector = $(this).attr('onclick').replace(/^.*'(#[^']+)'.*/gi, '$1');// set the date for that input to today's datevar $associatedInput = $(associatedInputSelector).datepicker("setDate", new Date());// (optional) close the datepicker once done$associatedInput.datepicker("hide");
});

你不妨也blur()$associatedInput并在接下来的输入/在你的页面中选择,但是这不是容易做到笼统,或者是 作为一个例子,我做了这一个页面我工作表的布局上(不要开始,我知道这是不好的做法!):

$associatedInput.closest('tr').next('tr').find('input,select').first().focus();

5. 我认为处理这一点的最好办法是重写库本身的外侧。这解决的问题

var old_goToToday = $.datepicker._gotoToday
$.datepicker._gotoToday = function(id) {old_goToToday.call(this,id)this._selectDate(id)
}

简单,不要求你砍了任何事件或改变任何基础函数

6. 我不喜欢加入额外的代码jQuery的源代码的想法。我不希望覆盖_gotoToday方法,通过在底部复制粘贴其在javascript代码并添加额外的线路。 所以,我调整了这段代码:

(function(){var original_gotoToday = $.datepicker._gotoToday;$.datepicker._gotoToday = function(id) {var target = $(id),inst = this._getInst(target[0]);original_gotoToday.call(this, id);this._selectDate(id, this._formatDate(inst, inst.selectedDay, inst.drawMonth, inst.drawYear));}
})();

7. 你可以试试下面的代码,以及填补当前日期输入框上点击今天按钮。只要把下面的代码中_gotoToday函数(在函数的末尾)中jquery.ui.datepicker.js

this._selectDate(id, this._formatDate(inst,
inst.selectedDay, inst.drawMonth, inst.drawYear));

请注意,jQuery的日期选择器的,我1.8.5版本。

8. jQuery UI的DatePicker的今天链接$('button.ui-datepicker-current').live('click', function() { $.datepicker._curInst.input.datepicker('setDate', new Date()).datepicker('hide').blur(); }); 

9. 说什么“今天”按钮,标题可以通过改变

.datepicker('option', 'currentText', 'New Title')

唯一改变显示的月份为电流。这种行为也可以被配置

.datepicker('option', 'gotoCurrent', true);

之后,按下按钮,将显示的月份更改为所选日期的之一。 这似乎提交一个日期与这个按钮是不可能设计。

10. 我添加了一个选项,将日期选择器用于这一目的:selectCurrent。 做你只需要添加下面的js文件: 1)向函数的DatePicker的结束(),添加:

selectCurrent: false // True to select the date automatically when the current button is clicked

2)在_gotoToday函数的末尾,添加:

if (this._get(inst, 'selectCurrent'))this._selectDate(id, this._formatDate(inst, inst.selectedDay, inst.drawMonth, inst.drawYear));

11. 在日期选择器被重构为至少10多个新版本将解决这个问题。

12. 你也可以尝试把它添加到你的脚本:

$('.ui-datepicker-current').live('click', function() {$(".datepicker").datepicker("setDate", date);
});

(使用。生活函数,而不是。点击)

13. 我刚摆脱它。 在CSS文件,这就是你的页面的一部分:

.ui-datepicker-current {visibility:hidden
}

14. 这是曾在datepicker的beforeShow回调函数,而不是活()方法是一个hacker。

  ,beforeShow: function(input, datepicker) {setTimeout(function() {datepicker.dpDiv.find('.ui-datepicker-current').text('Select Today').click(function() {$(input).datepicker('setDate', new Date()).datepicker('hide');});}, 1);return {};}

转载于:https://www.cnblogs.com/quxiajun/p/6494698.html

jQuery中的DatePicker今天按钮不起作用相关推荐

  1. html中字段是日期控件,jQuery日历插件datepicker用法详解

    jQuery是一款不可多得的非常优秀的javascript脚本开发库,而基于其上的很多插件也是非常规范和卓越的,如果错过这番美景真是太可惜了,比如datepicker这个插件. 一般MIS系统的前端, ...

  2. 网页加载的不同的方式、点击按钮显示一句话、jQuery中获取元素的方法

    网页加载的不同的方式 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  3. JQuery中的事件以及动画

    嘿嘿,今天学习了JQuery的事件以及动画,感觉即将学习完JQuery,在回忆起上周学习的JavaScript,感觉好多刚刚学习的知识点都记得模 糊啦,这个是很让失望的,这里只说明了一点,课是听过啦, ...

  4. JQuery中的queue()及dequeue()

    本文实例讲述了jQuery中queue()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够显示或者操作在匹配元素上执行的函数队列. 此方法可能用的并不是太频繁,但是却非常的重要,下面就结合实 ...

  5. php网站首页点击更多时获取数据,jQuery+PHP实现点击按钮加载更多,不刷新页面加载更多数据!附:可用源码+demo...

    先上效果: 刚打开页面的时候,只显示部分数据,点击加载更多的时候,就会加载我们预先定义的加载数量显示出来!当数据库里面的所有数据都显示出来,就提示全部加载了! 新建index.php jQuery+p ...

  6. jQuery中 对标签元素操作(2)

    一.属性操作 1.获取属性和设置属性 例如下jQuery代码: var $para=$("p");           //获取<p>节点 var p_txt=$par ...

  7. jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...

    jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...

  8. jQuery框架学习第二天:jQuery中万能的选择器

    jQuery框架学习第一天:开始认识jQuery jQuery框架学习第二天:jQuery中万能的选择器 jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQu ...

  9. jQuery中FormData的使用

    web中数据提交事件是常常发生的,但是大多数情况下我们不希望使用html中的form表单提交,因为form表单提交会中断当前浏览器的操作并且会调到另一个地址(即使这个地址是当前页面),并且会重复加载一 ...

最新文章

  1. net user administrator /passwordreq:yes出现语法错误
  2. java源码 1.8_Java源码下载和阅读(JDK1.8/Java 11)
  3. 一个Delphi写的DES算法, 翻译成C#
  4. python字符串 切片_用于切片字符串的Python程序
  5. WEB安全基础-XSS基础
  6. LeetCode 152. 乘积最大子序列(动态规划)
  7. 用Python实现二叉树、二叉树非递归遍历及绘制
  8. delphi 中文转 ascii编码_【转】Python 中文编码
  9. Windows -- ThinkPad E470 win10-64bit显示问题和声音播放问题
  10. bt文件如何找到资源服务器,如何用Folx创建种子分享自己的文件资源
  11. 计算机内存不足16g内存,高手亲自教你win10 16g内存显示内存不足的修复要领
  12. arm板gdb调试移植
  13. 【CodeForces 767C】Garland (树形DP)
  14. 代价敏感学习初探 - 有偏损失函数设计
  15. 原理 + 代码 | Python 实现多元线性回归模型 (建模 + 优化,附源数据)
  16. User-Agent大全
  17. Memory Fusion Network for Multi-view Sequential Learning注意力融合MFN
  18. Atlassian In Action-Jira之二次开发(五)
  19. 排序算法图解(四):希尔排序
  20. 基于SSM的网上书店、电子书城、二手书城系统

热门文章

  1. CTFshow 信息收集 web13
  2. 最短路径·三:SPFA算法 HihoCoder - 1093 (spfa无向图)
  3. MATLAB常用命令(窗口命令、标点符号特殊功能和帮助命令)
  4. java executorser 停止_Java使用ExecutorService来停止线程服务
  5. Yii2 的小贴士用法
  6. selenium+chromedriver爬取淘宝美食信息保存到MongoDB
  7. python爬虫——利用BeautifulSoup4爬取糗事百科的段子
  8. 转】MYSQL性能调优与架构设计之select count(*)的思考
  9. 《用户故事与敏捷方法》阅读笔记一
  10. MySQL当您插入列无效的数据插入