如何在asp.net Gridview控件中添加datepicker

我试图将datepicker添加到具有列名称(cheque_date)的Asp.net Gridview控件中,当我对特定行的Gridview列的id进行硬编码时,它工作正常,但仅适用于该行,但我想为每个添加datepicker和Gridview的每一行。 下面是我的Html和jquery代码,不能按预期工作。 任何人都可以解释和解决我的问题。 提前致谢

  
<asp:TextBox ID="remarks" CssClass="form-control" Text='' runat="server"> <asp:TextBox ID="cheque_date" AutoPostBack="false" CssClass="form-control myDatePickerClass" placeholder="Cheque Date" Text='' runat="server"> <asp:TextBox ID="cheque_no" CssClass="form-control" Text='' runat="server"> <asp:TextBox ID="amount" CssClass="form-control" Text='' runat="server"> <asp:TextBox ID="wht_tax_percent" CssClass="form-control calculateWhtAmount" Text='' runat="server"> <asp:TextBox ID="wht_tax_amount" CssClass="form-control" Text='' runat="server"> <asp:TextBox ID="total_amount" CssClass="form-control tamount" Text='' runat="server"> No Record Available

我的jquery代码如下:

 var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function () { $("#ContentPlaceHolder1_gvBankPayment").on('click', '.myDatePickerClass', function () { var currentRow = $(this).closest("tr"); var input = ('#' + currentRow.find("td:eq(2) input").attr('id')); $(input).datepicker({ dateFormat: 'dd/mm/yy', changeMonth: true, changeYear: true, yearRange: '1950:2013', yearRange: '1950:2050' }); }); }); 

您应该将脚本更改为此。 创建一个函数并且不将它放在endRequest中也更好。 因为您的代码现在不会在首次加载时绑定datepicker,而是仅在UpdatePanel更新后绑定。 请注意ClientID的使用