Javascript jQuery在模板字段中引用控件ID
我想在javascript中引用控件的ID。控件位于模板字段中 以下是我所做的:Javascript jQuery在模板字段中引用控件ID,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我想在javascript中引用控件的ID。控件位于模板字段中 以下是我所做的: <ItemTemplate> <script type="text/javascript"> $(document).ready(function () { $('#ReqDate2.ClientID').dynDateTime({ showsTime: true,
<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>
$(文档).ready(函数(){
$('#ReqDate2.ClientID').dynDateTime({
showsTime:是的,
iFormat:“%d/%m/%Y%H:%m”,
数据格式:“%l;%M%p,%e%M,%Y”,
对齐:“BR”,
德莱特里克:错,
单击:false,
显示区域:“.sibles('.dtcDisplayArea')”,
按钮:“.next()”
});
});
这段代码应该使日历javascript在我点击日历图像时弹出,但它没有发生
我想这是因为我没有正确选择文本框的ID:$(“#ReqDate2.ClientID”)
我应该如何选择它呢?试试这个:
$('#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时,不需要添加任何其他选择器
不要访问文本框id
而是使用其类名
试试这个:它对我很管用
$(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>
当ASP.net呈现ID更改时,如果您查看输出的HTML,它很可能不会是
ReqDate2
要使JavaScript引用成为正确的ID,请使用
$('#<%= ReqDate2.ClientID %>').dynDateTime({
$('#').dynDatime({
由于这是一个
itemTemplate
,我建议不要使用这种方法,也不要使用lakshmi prakasan的类方法。使用类非常有效,但是由于我也进行了验证,现在它不起作用。我进行了验证,效果很好。下面对验证进行了评论
<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>
$(文档).ready(函数(){
$(“.calendar”).dynDatime({
showsTime:是的,
iFormat:“%Y/%m/%d%H:%m”,
数据格式:“%l;%M%p,%e%M,%Y”,
对齐:“BR”,
电气:错,
单击:false,
显示区域:“.sibles('.dtcDisplayArea')”,
按钮:“.next()”
});
});
CssClass=“Calender”
而不是class=“Calender”
。这是asp.net控件。