jQuery引用模板字段中的控件ID
jQuery refer to control ID in template field
我想在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:$('#ReqDate2.ClientID')
我应该如何选择它?
使用其
class name
而不是访问textbox 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>
<asp:TextBox ID="txtDOB" runat="server" ReadOnly="true" CssClass = "Calender" />
<img src="calender.png" />
</ItemTemplate>
试试这个:
$('#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的选择器。
当ASP.net呈现更改ID时,如果您查看输出的HTML,它很可能不是ReqDate2
要使JavaScript引用正确的ID,请使用
$('#<%= ReqDate2.ClientID %>').dynDateTime({
由于这是一个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>
相关文章:
- 如何从c#代码中获取asp控件id
- 将html控件id从aspx文件传递给javascript
- 将控件Id更改为变量
- 将 .net 按钮控件 ID 传递给 JavaScript 函数
- 通过jQuery查找控件ID,并将其传递给函数以切换它
- 将 ASP.Net 控件 ID 发送到 JavaScript 函数
- 如何访问位于同一文件中 js 中的数据列表中的控件 ID
- 查找 aspx 页和相应的 ascx 用户控件中存在的所有控件和子控件 ID
- 如何使用 java 脚本查找 asp 控件 ID
- 如何在另一个用户控件 ID 中获取用户控件 ID
- 将 GridView 控件 ID 传递给 JavaScript
- 在.js文件中获取.aspx控件ID
- 在外部javascript文件中获取asp控件ID的最佳方式是什么
- 如何使用javascript在用户控件页的父页中获取隐藏控件id
- 如何在克隆行的同时管理表行关联的javascript(控件ID)
- 与控件ID关联的访问服务器控件
- 如何在doPostBack中传递控件id
- 将客户端控件ID和值附加到请求对象…可能
- 如何在ASP.net中为可以使用控件ID调用的用户控件添加JavaScript函数
- 在ASP.net Listview中获取多个控件id的值并将其传递给JavaScript