次のように、gridview ヘッダー行内の asp.net ページで jquery ui datepicker を使用しています。
<asp:TemplateField SortExpression="Published" >
<HeaderTemplate>
<span id="spDate">
<asp:Button ID="Button2" runat="server" Text="<%$ Resources:Vacancies, DateRange %>" CssClass="chenge-a" />
</span>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="PublishedLiteral" runat="server"
Text='<%# DateTime.Parse(Eval("Published", "{0:m}")) == DateTime.Now.Date ? string.Format("<span class=greenText>{0}</span>", GetGlobalResourceObject("Vacancies", "VacancyToday")) : DateTime.Parse(Eval("Published", "{0:d}")).ToString("dd MMM") %>' />
-
<asp:Literal ID="DeadlineLiteral" runat="server"
Text='<%# DateTime.Parse(Eval("Deadline", "{0:m}")) == DateTime.Now.Date ? string.Format("<span class=orangeText>{0}</span>", GetGlobalResourceObject("Vacancies", "VacancyToday")) : DateTime.Parse(Eval("Deadline", "{0:d}")).ToString("dd MMM") %>' />
</ItemTemplate>
</asp:TemplateField>
次に、次の Jquery コードを使用して、テキスト ボックスの値を変更します。
<script type="text/javascript">
$(document).ready(function () {
$(".chenge-a").datepicker({
onSelect: function (value, date) {
alert('The chosen date is ' + value);
$(".txt").val(value);
}
});
$(".txt").on('change', function () {
alert('I am pretty sure the text box changed');
});
});
テキストボックスは次のようになります。
<asp:TextBox ID="txtdatetemp" runat="server" AutoPostBack="True"
ontextchanged="txtdatetemp_TextChanged" class="txt" ></asp:TextBox>
グリッドビューの外にあります。サーバー側の text_changed イベントをそれに添付しました
protected void txtdatetemp_TextChanged(object sender, EventArgs e)
{
}
しかし、それは呼び出されません。クライアント側機能なし
$(".txt").on('change', function ()
と呼ばれます。
jquery ui datepicker で日付の変更時にグリッドビューを再バインドしたい。それに対する解決策を提案してください。
ありがとう