2016-11-10 15 views
0

我有一个日期文本框,以便用户可以使用日期选择器选择日期。在更新文本框之前调用onblur

enter image description here

我想知道,如果日期被改变了,所以我说的onblur到文本框:

<asp:TextBox runat="server" ID="txtDate" CssClass="dateonly" Width="80px" onblur="CheckIfDateChanged(this.value)" ></asp:TextBox> 

然后在我的jQuery我想检查它越来越所以我加的日期一个提醒:

function CheckIfDateChanged(date) 
{ 
    alert(date); 
} 

onblur似乎被调用之前,文本框实际上改变与新的日期。因此,如果当前日期为2016年10月28日,并将其更改为2016年10月29日,则该警报将显示2016年10月28日。然后在关闭警报消息之后日期发生变化。

如何从日期选择器中选择新日期时知道日期是否发生了变化?

+0

当你点击'输入'时,它会获得焦点,然后从日期选择器开始,日历出现并从输入获取焦点。由于这个原因,输入失去焦点并且调用onblur – Rajesh

+1

使用'onchange()'而不是'onblor()',所以每当你的文本框被改变之后它将调用 – Bharat

+0

@BharatPatidar onchange()'不工作if我从datepicker中选择日期。如果我将日期输入到文本框中,它将被调用 – user123456789

回答

0

可以使用onchange事件的textbox。当文本框的值被改变时,这个事件被触发。

<asp:TextBox runat="server" ID="txtDate" CssClass="dateonly" Width="80px" onchange="CheckIfDateChanged(this.value)" ></asp:TextBox> 

OR

你可以datepciker的“onSelect`绑定事件并调用你的函数

$(".dateonly").datepicker({ 
    onSelect: function(date) { 
    alert(date); 
    } 
}); 
+0

如果从datepicker中选择日期,onchange()不起作用。如果我在文本框中输入日期,它只会被调用 – user123456789

0

尝试使用onfocusout

我已经遇到了类似的问题我自己。我只是将onfocusout添加到元素属性以及我想要调用的函数中。

相关问题