【问题标题】:Jquery datepicker - manual triggeringJquery datepicker - 手动触发
【发布时间】:2011-12-27 18:22:54
【问题描述】:

我在我的一个项目中使用 jquery datepicker,我需要通过单击输入区域旁边的超链接来触发 datepicker。

很遗憾,由于某种原因,我无法使其正常工作。

我有一个输入区域和我想在输入区域触发日历的超链接。

<input type="text" id="date" /><a href="#" class="trigger">Show calendar</a>

我试图想出一个 Javascript 代码,例如:

$(".trigger").click(function(){ 
$("#date").datepicker("show"); 
}); 

正如之前讨论中的其他人建议使用 SHOW 方法使日历弹出一样。但它不起作用。

代码如

$(function() {
$("#date").datepicker();
});

工作正常,但只需点击输入区域(而不是触发超链接)。

有没有人有任何想法或建议如何让它工作?因为据我所知,我不是唯一一个追求解决方案的人。

非常感谢! ;)

【问题讨论】:

标签: jquery datepicker jquery-ui-datepicker


【解决方案1】:

你的click()事件函数在jQuery(document).ready()函数中吗?

因为 jQuery 会递归地将 click 事件处理程序分配给您在页面加载时定义的每个类。

否则,如果它位于文档就绪函数之外,它将不会执行任何操作,如下所示:

$(function() {
    $("#date").datepicker();
    $(".trigger").click(function(){
        $("#date").datepicker("show");
    }); 
});

我还假设你已经加载了 jQuery 并且在 HTML 文档的头部加载了 datepicker 插件:)

【讨论】:

  • 是的,对不起,我认为这部分是理所当然的,所以它没有包含在我的示例中。 JS 脚本以 $(document).ready(function() { ..... 但还是不行:(
  • 啊刚刚尝试了您的调整解决方案,它的工作就像一个魅力!非常感谢! ;)
【解决方案2】:

我用这个:

$(".ui-datepicker-current-day").trigger("click");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多