1

我有一个 JQuery 日历,它可以在我的网页上完美运行,但只有一次。在我选择日期并尝试单击文本框以更改日历不出现的日期后。

这是我的代码`

    $(document).ready(function () {           
        $("#<%= txtDatePicker.ClientID %>").datepicker();           
    });

`

<asp:TextBox ID="txtDatePicker" runat="server" OnTextChanged="txtDatePicker_TextChanged" AutoPostBack="True" ></asp:TextBox>
4

4 回答 4

2

好的,我想通了。这是因为 AutoPostBack。使用 AutoPostBack 时,这是部分页面加载,因此日期选择器不起作用。我将 datepicker 绑定添加到 pageLoad 函数中,它现在可以完美运行.....

谢谢你所有的答案

 function pageLoad() {
        $("#<%= txtDatePicker.ClientID %>").datepicker();
    }
于 2013-04-05T08:17:34.103 回答
1

您显示 datepicker 的语句仅在 上执行一次document.ready。您可以绑定事件以在获得焦点focus时打开它TextBox

$(document).ready(function () {           
    $("#<%= txtDatePicker.ClientID %>").datepicker();           


    $("#<%= txtDatePicker.ClientID %>").focus(function () {           
         $(this).datepicker();           
    });
});
于 2013-04-05T07:29:29.113 回答
1

尝试更改为:

$(document).ready(function () {
   $("#<%= txtDatePicker.ClientID %>").on('click focus',function(){
      $(this).datepicker();
   }).datepicker();       
});

查看代码中发生了什么,您刚刚在页面加载 ( doc ready) 事件上初始化了 datepicker,因此如果您想更改日期,则必须绑定一个focus或的事件click,尽管两者都可以正常工作。

于 2013-04-05T07:35:33.870 回答
0
<input type="text" id="date" placeholder="Choose a date..." value="" />

$(function () {
    $("#date").datepicker({
        dateFormat: "DD, d M yy",
        altField: selectedDay,
        altFormat: "DD",

    });
于 2013-04-05T07:34:47.833 回答