单击锚点显示jQuery DatePicker

时间:2013-05-08 10:41:44

标签: jquery jquery-ui datepicker

我正在使用jQuery datepicker,我想在点击一个锚时显示它,我想隐藏与datepicker事件相关的输入。

所以我试过这个

<a id="test">
   test
</a>

<p>Date: <input type="hidden" id="TafPassportDateOfIssue" /></p>

我有这个脚本

<script>
  $('#test').click(function() {
    $('#TafPassportDateOfIssue').datepicker();
  });

但这没有做任何事情。有什么想法吗?

PS:我正在使用 jquery-1.7.2.min.js jquery-ui-1.8.11.min.js

更新

我设法通过添加$('#TafPassportDateOfIssue').focus()来使其发挥作用。我知道它看起来有点乱,但它完成了工作。

2 个答案:

答案 0 :(得分:1)

Jquery选择器无效。#中没有selector,因为您选择了ID

它应该是$('#TafPassportDateOfIssue')而不是$('TafPassportDateOfIssue')

所以,将代码更改为

$('#test').click(function() {
    $('#TafPassportDateOfIssue').datepicker();
  });

答案 1 :(得分:1)

datepicker()使输入元素成为一个datepicker,但不会显示它。这样,每次单击链接时,该函数都会尝试将datepicker应用于input元素,但实际上不会这样做,因为它还会向其中添加一个类hasDatepicker。如果元素已经获得了类,则函数返回而不是重新应用datepicker。

jQuery UI datepicker插件可以选择在点击按钮时打开它:showOn: 'button'

所以,如果这是你实际尝试实现的目的,请使用它。