按下按钮显示jQueryUI datepicker,不涉及输入字段

时间:2011-10-17 16:36:11

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

在ASP.NET项目中,我正在寻找一种方法,当我按下按钮时出现jQueryUI日期选择器,然后在选择日期时引发回发。我已经使用this method使回发部分正常工作了,但是当我想要它时让我的选择器消失或者在选择日期时表现正常我会遇到麻烦。

我试过了:

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

这里最好的方法是什么?

1 个答案:

答案 0 :(得分:7)

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

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

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

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