【问题标题】:Show jQueryUI datepicker on button press without involving input field在按钮按下时显示 jQueryUI 日期选择器而不涉及输入字段
【发布时间】:2011-10-17 16:36:10
【问题描述】:

在一个 ASP.NET 项目中,我正在寻找一种方法,当我按下按钮时会出现一个 jQueryUI 日期选择器,然后在选择日期时导致回发。我已经使用this method 让回发部分正常工作,但是我无法让选择器在我想要的时候离开,或者在选择日期时正常运行。

我试过了:

  • 将选择器附加到按钮本身,但它将按钮的文本设置为在我选择之后和回发发生之前选择的日期,这是我不想要的。
  • 将选择器附加到按钮并将altField 选项设置为位于浏览器窗口外的<input type='text' />,但在选择日期时仍会设置按钮的文本。
  • 通过将其附加到div 并在按钮的onclick 中创建它来使其内联。但是根据this forum post,设计的内联日期选择器不显示完成按钮,我不能通过单击它外部来关闭它。
    • 我尝试将我自己的 Done 按钮添加到 datepicker 的按钮容器中(在设置 showButtonPanel 时显示),但是当月份或年份发生变化并且我可以绑定的事件似乎都没有时,它会消失请允许我重新添加它。
    • 我尝试将mouseup 处理程序附加到文档正文,以便在我单击它外部时关闭日期选择器,但是当我单击日期选择器时也会触发,并且似乎完全阻止选择器工作。

这里最好的方法是什么?

【问题讨论】:

    标签: javascript asp.net jquery-ui jquery-ui-datepicker


    【解决方案1】:

    我之前使用了一个隐藏的input 字段,并在其上附加了一个日期选择器,结果成功:

    $("#date").datepicker({...}); // #date has style display='none'
    
    $("#show-date").click(function () {
        $("#date").datepicker("show");
    });
    

    示例: http://jsfiddle.net/7pttr/

    【讨论】:

    • 这在一些摆弄后工作。有趣的是,如果隐藏输入不是其父项的第一个子项,我会在 $('#myHiddenInput').datepicker('show'); 上收到 Javascript 错误。棘手!
    猜你喜欢
    • 2015-03-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多