我已经在 ASP.net 文本框中实现了日期时间选择器,但是当我在 gridview 或嵌套 gridview 中使用它时,它失败了..
我想要的是.. 通过这个 JQuery 函数
$(function () {
$("#<%= txtDate.ClientID %>").datepicker();
});
在给定示例中单击嵌套 GridView 时显示日期时间选择器..
<asp:GridView ID="GV_Proc" runat="server" AutoGenerateColumns="false" CssClass="Grid"
DataKeyNames="Procedure_Code" OnRowDataBound="GV_ProcOnRowDataBound"
onselectedindexchanged="gvProc_SelectedIndexChanged" Width="512px">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img alt = "" style="cursor: pointer" src="../images/plus.png" />
<asp:Panel ID="pnldiagtype" runat="server" Style="display: none">
<asp:GridView ID="gvProctype" runat="server" AutoGenerateColumns="false" CssClass = "ChildGrid">
<Columns>
<asp:TemplateField HeaderText="Select" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="">
<ItemTemplate>
<asp:CheckBox ID="chk_Select" runat="server"/>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<ItemStyle Width="8%" />
</asp:TemplateField>
<asp:BoundField ItemStyle-Width="20%" DataField="Procedure_Type_ID" HeaderText="Procedure Type Id" />
<asp:BoundField ItemStyle-Width="20%" DataField="Procedure_Code" HeaderText="Procedure Code" />
<asp:BoundField ItemStyle-Width="100%" DataField="Procedure_Type_Desc" HeaderText="Description" />
<asp:TemplateField HeaderText="Remarks" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="">
<ItemTemplate>
<asp:TextBox ID="txt_Remarks" CssClass=".text" runat="server"></asp:TextBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<ItemStyle Width="8%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Date" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="">
<ItemTemplate>
<asp:TextBox ID="txtDate" runat="server" />
<img src="../calender.png" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<ItemStyle Width="8%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</asp:Panel>
</ItemTemplate>
<ItemStyle Width="8%" />
</asp:TemplateField>
<asp:BoundField ItemStyle-Width="150px" DataField="Procedure_Code" HeaderText="Procedure ID"/>
<asp:BoundField ItemStyle-Width="150px" DataField="Procedure_Description" HeaderText="Procedure Name" />
</Columns>
当我尝试构建它时,它显示
The name 'txtDate' does not exist in the current context
任何帮助都是可取的
当我在没有 GridView 的情况下使用相同的功能时,运行成功..
我正在使用以下脚本和样式表
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/base/jquery-ui.css" type="text/css" media="all" />
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-1.8.0.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
更新:
<script type="text/javascript">
$(document).ready(function () {
$('.datepicker-text').datepicker();
});
并将 textBox 属性更新为
<asp:TextBox ID="txtDate" runat="server" CssClass="datepicker-text"/>
最佳答案
datepicker
应该在 DOM 准备就绪时分配,以便该对象存在。
在您的日期文本框上放置一个 css
类,使用它来选择 datepicker
的文本框,因为可以有多个行。
<asp:TextBox ID="txtDate" runat="server" CssClass="datepicker-text"/>
然后将 document.ready
上的 datepicker
指定为
$('.datepicker-text').datepicker();
关于c# - 如何使用 JQuery c# 在嵌套 GridView ASP.net 中使用日期时间选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36078690/