我想在我的javascript中引用控件的ID。控件位于模板字段中。
以下是我所做的:
<ItemTemplate>
<script type="text/javascript">
$(document).ready(function () {
$('#ReqDate2.ClientID').dynDateTime({
showsTime: true,
ifFormat: "%d/%m/%Y %H:%M",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
dlectric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
</script>
<asp:TextBox ID="ReqDate2" runat="server" ReadOnly="true" Style="width: 128px"></asp:TextBox>
<img src="../Images/calender.png" />
</ItemTemplate>
当我点击日历图片时,此代码应该会弹出日历javascript,但不会发生。
我认为是因为我没有正确选择文本框的ID:$(&#39;#ReqDate2.ClientID&#39;)
我该如何选择呢?
答案 0 :(得分:1)
而不是访问
textbox id
使用其class name
试试这个:它对我来说很好。
$(document).ready(function () {
$(".Calender").dynDateTime({
showsTime: true,
ifFormat: "%Y/%m/%d %H:%M",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
您也应该更改itemtemplate。
<ItemTemplate>
<asp:TextBox ID="txtDOB" runat="server" ReadOnly="true" CssClass = "Calender" />
<img src="calender.png" />
</ItemTemplate>
答案 1 :(得分:0)
试试这个:
$('#ReqDate2').dynDateTime({
showsTime: true,
ifFormat: "%d/%m/%Y %H:%M",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
当您拥有唯一ID时,无需添加任何其他选择器。
答案 2 :(得分:0)
当ASP.net呈现更改ID时,如果您查看输出的HTML,则很可能不会ReqDate2
要使JavaScript引用正确的ID,请使用
$('#<%= ReqDate2.ClientID %>').dynDateTime({
由于这是itemTemplate
,我建议不要使用这种方法并使用lakshmi prakasan的课堂方法
答案 3 :(得分:0)
使用类很好,但是因为我也有验证,现在它不起作用。我拿出验证,它工作正常。以下验证已被评论。
<asp:TemplateField HeaderText="Drop Off - Date & Time">
<EditItemTemplate>
<asp:TextBox ID="dropoffdateandtime" runat="server" class = "Calender"
Text="<%# Bind('dropoffdateandtime') %>" />
**<%--<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="dropoffdateandtime" ErrorMessage="date & time is required" ForeColor="#999999"></asp:RequiredFieldValidator>--%>**
</EditItemTemplate>
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:TemplateField>
使用javascript
<script type="text/javascript">
$(document).ready(function () {
$(".Calender").dynDateTime({
showsTime: true,
ifFormat: "%Y/%m/%d %H:%M",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
</script>