当文本由javascript更改时,Fire TextChanged用于文本框

时间:2017-04-07 12:29:11

标签: javascript c# asp.net

我有一个文本框,我从jQuery datepicker填充日期,代码如下:

<div id="test"></div>
<asp:TextBox ID="txtRDate" runat="server" Width="120px" ClientIDMode="Static"  AutoPostBack="True" OnTextChanged="txtRDate_TextChanged">
</asp:TextBox>

Javascript代码是:

 <script type="text/javascript">
  $('#test').datepicker({
       dateFormat: 'yy/mm/dd',
       minDate: new Date(2017, 1, 1),
       defaultDate: new Date(),
       onSelect: function(date, obj){
                     $('#txtRDate').val(date);  //Updates value of date 

                 }
 });
 </script>

从datepicker中选择日期时,文本框中的文本会发生更改,但文本框的TextChanged不会被触发。

C#代码背后:

  protected void txtRDate_TextChanged(object sender, EventArgs e)
  {
        GetData(txtRDate.Text);
  }

请告诉我当javascript更改文本时如何为文本框触发TextChanged

提前致谢。

1 个答案:

答案 0 :(得分:0)

在jQuery .val()中不要触发onchange 你必须触发它

<script type="text/javascript">
$('#test').datepicker({
    dateFormat: 'yy/mm/dd',
    minDate: new Date(2017, 1, 1),
    defaultDate: new Date(),

onSelect: function(date, obj){
    $('#txtRDate').val(date);  //Updates value of date 
 $('#txtRDate').trigger('change');
}
});
</script>