<script type="text/javascript">
$(function () {
$("#tb1").datepicker($.datepicker.regional["de"]).datepicker("option", {
changeMonth: true,
changeYear: true
});
});
</script>
<asp:TemplateField HeaderText="Birth Date" SortExpression="BirthDate">
<EditItemTemplate>
<input type="text" id="tb1" style="width: 150px" name="tb1" runat="server" >
</EditItemTemplate>
在后面的代码中我试图在编辑模式中设置tbCalender的值
((HtmlInputText)GvClient.Rows[nrow].FindControl("tb1")).Value = textbox1.ToString();
问题是当我点击tb1文本时,javascript datepicker不会触发。
答案 0 :(得分:2)
问题是服务器端HTML控件在呈现时会被赋予唯一的ID,因此JS中的ID不是呈现的HTML元素的ID。
更改您的$("#tb1")
选择器以使用jQuery'enduswith'选择器:
$("[id$='tb1']")
答案 1 :(得分:0)
Ant P几乎是关于服务器端控件被赋予唯一ID,但并非所有服务器控件都具有不同的ID和唯一ID。
服务器端文本框或按钮等简单控件通常具有相同的ID和唯一ID,除非它们在动态控件(如网格视图)中使用。由于网格视图绑定到数据源并将动态生成其行,因此无法为其子项分配特定ID,ID将动态生成并可通过控件的UniqueID属性访问。
因此,我建议通过调试输出HTML找到控件的唯一ID模式(动态生成的输入),然后使用正确的正则表达式模式来获取它。
提示:唯一ID将包含您在源代码中指定的ID属性。
答案 2 :(得分:-1)
对于节点的get属性,你可以使用..
$("tb1").attr("name_attr");