我尝试在gridview内的文本框上使用日期选择器引导程序。我无法弄清楚如何访问gridview中的文本框。我收到错误:txtStartDate不存在。
<script src="Scripts/bootstrap-datepicker.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var dp = $('#<%=txtStartDate.ClientID%>');
dp.datepicker({
changeMonth: true,
changeYear: true,
format: "dd.mm.yyyy",
language: "tr"
}).on('changeDate', function (ev) {
$(this).blur();
$(this).datepicker('hide');
});
});
</script>
这是我的文本框
<asp:TemplateField ItemStyle-Width="150px" HeaderText="Start Date">
<ItemTemplate>
<asp:TextBox ID="txtStartDate" runat="server" Text='<%# Eval("Start_Date")%>'
BackColor="LightGoldenrodYellow"></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="150px" />
</asp:TemplateField>
答案 0 :(得分:0)
将CSS类应用于文本框,然后使用CSS类选择器选择具有该类的所有元素以应用datepicker。
<script src="Scripts/bootstrap-datepicker.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var dp = $('.dp');
dp.datepicker({
changeMonth: true,
changeYear: true,
format: "dd.mm.yyyy",
language: "tr"
}).on('changeDate', function (ev) {
$(this).blur();
$(this).datepicker('hide');
});
});
</script>
<asp:TextBox ID="txtStartDate" runat="server" Text='<%# Eval("Start_Date")%>' BackColor="LightGoldenrodYellow" CssClass="dp"></asp:TextBox>
您获得异常的原因是因为该代码执行的范围中没有txtStartDate
。每个数据行都有一个txtStartDate
控件,但您无法在GridView行的上下文之外引用它们。