Datetimepicker取消Textchanged事件

时间:2017-07-08 13:07:19

标签: c# jquery asp.net bootstrap-4

通常我可以在这里找到每个问题的答案,但这次我不能。

问题是当我将我的asp文本框更改为(bootstrap)datetimepicker时,文本框的OnTextChanged事件根本不会被激活。

我不知道datetimepicker将文本放在文本框中的方式,但不知何故它不会触发textchanged事件。

如果有人得到答案或其他解决方法,请告诉我。

我的代码如下:

<div class="col-lg-12 text-center">
    <asp:TextBox runat="server" ID="txtSearch" 
    OnTextChanged="txtSearch_TextChanged" AutoPostBack="true" 
    PlaceHolder="&ensp;&#xf002;&ensp;Zoeken op Datum..." Height="30" 
    Width="25%"></asp:TextBox>
</div>

<script type="text/javascript">
    $('#txtSearch').datetimepicker({
        locale: 'nl',
        format: 'DD-MM-YYYY',
        showClear: true
    });
</script>

protected void txtSearch_TextChanged(object sender, EventArgs e)
{
    ShowData();
}

编辑:我通过使用datetimepicker本身的dp.change事件解决了它。 通过在事件中使用__doPostBack(),我得到了与asp文本框的textchanged事件相同的结果。

$('#txtSearch').on("dp.change", function () {
    __doPostBack();
});

1 个答案:

答案 0 :(得分:0)

程序化更改通常不会触发 onchanged 事件。这是一件好事,因为当您从程序中为控件设置值时会触发这些事件,这在显示数据时会发生很多事情。

你的datetimepicker会改变你的程序价值。

看看你是否可以使用日期选择器本身的.change or .hide events