我在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');
});
});
Textbox是这样的:
<asp:TextBox ID="txtdatetemp" runat="server" AutoPostBack="True"
ontextchanged="txtdatetemp_TextChanged" class="txt" ></asp:TextBox>
它在gridview之外。我已将服务器端text_changed事件附加到它
protected void txtdatetemp_TextChanged(object sender, EventArgs e)
{
}
但它没有被调用。客户端功能都不是
$(".txt").on('change', function ()
被召唤。
我想在jquery ui datepicker中更改日期时重新绑定gridview。请建议解决方案。
由于
答案 0 :(得分:1)
我试过了:
$(".chenge-a").datepicker({
onSelect: function (value, date) {
$(".txt").val(value);
$(".txt").change(function () {
}).triggerHandler('change');
e.preventDefault();
}
});
并且有效。