【问题标题】:Datetimepicker cancels Textchanged eventDatetimepicker 取消 Textchanged 事件
【发布时间】:2017-12-12 16:24:03
【问题描述】:

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

问题是当我将我的 asp 文本框更改为(引导)日期时间选择器时,文本框的 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();
});

【问题讨论】:

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


【解决方案1】:

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

您的日期时间选择器会改变您程序中的值。

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

【讨论】:

  • 感谢您的快速回复。问题是我需要在文本更改时执行服务器端代码,那么这可以使用 javascript/jquery 来完成吗?
  • 我现在为此使用了 dp.change 事件并将文本传递到隐藏字段中。 $('#txtSearch').on("dp.change", function () { $('#hfSearch').html("你好"); });感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多