添加 runat="server" 时 Datepicker 不工作
Datepicker is not working when adding runat="server"
我指的是这个站点 http://jqueryui.com/datepicker/ 的日期选择器,我的编码与给定的源代码完全一样。这些编码工作正常。
但是..
当我在这段代码中添加 runat="server" 时 <input type="text" id="datepicker">
单击 [=12= 我的日历不会显示].我需要放置 runat="server" 以便我能够在后面的代码中使用它。
非常感谢你们的任何建议。谢谢。
当 runat=server 添加母版页时,它会生成带母版页的默认样式 id。因此要避免它,请尝试 ClientIDMode="Static"
<input type="text" id="datepicker" runat="server" ClientIDMode="Static">
没有 ClientIDMode='Static' 生成的 HTML 是
<input type="text" id="MainContent_datepicker" name="ctl00$MainContent$datepicker">
有关更多信息,请通过 使用 firebug
检查元素,将 firebug 用于 mozilla firefox
当文本框在查看源代码中运行时="server",您可以找到生成动态前缀的文本框的名称。
因此,在您的 JavaScript 中,您不应该使用标签中指定的 id 属性,而应该使用 <%=IdAttributeValue.ClientID%> 来生成 ID。
尝试使用这个
<script>
$(document).ready(function () {
$("body").delegate("#<%=datepicker.ClientID%>", "focusin", function () {
$(this).datepicker();
});
});
</script>
我找到了正确的方法。
为ASP.Net设计
<asp:TextBox runat="server" id="datepicker"></asp:TextBox>
在客户端服务器端
$(document).ready(function () {
$("[id$=datepicker]").datepicker();
});
将 $("[id$=datepicker]").datepicker();
替换为 $('#<%= datepicker.ClientID %>').datepicker();
然后日历将显示出来并能够在后面的代码中调用 datepicker。
我指的是这个站点 http://jqueryui.com/datepicker/ 的日期选择器,我的编码与给定的源代码完全一样。这些编码工作正常。
但是..
当我在这段代码中添加 runat="server" 时 <input type="text" id="datepicker">
单击 [=12= 我的日历不会显示].我需要放置 runat="server" 以便我能够在后面的代码中使用它。
非常感谢你们的任何建议。谢谢。
当 runat=server 添加母版页时,它会生成带母版页的默认样式 id。因此要避免它,请尝试 ClientIDMode="Static"
<input type="text" id="datepicker" runat="server" ClientIDMode="Static">
没有 ClientIDMode='Static' 生成的 HTML 是
<input type="text" id="MainContent_datepicker" name="ctl00$MainContent$datepicker">
有关更多信息,请通过 使用 firebug
检查元素,将 firebug 用于 mozilla firefox当文本框在查看源代码中运行时="server",您可以找到生成动态前缀的文本框的名称。
因此,在您的 JavaScript 中,您不应该使用标签中指定的 id 属性,而应该使用 <%=IdAttributeValue.ClientID%> 来生成 ID。
尝试使用这个
<script>
$(document).ready(function () {
$("body").delegate("#<%=datepicker.ClientID%>", "focusin", function () {
$(this).datepicker();
});
});
</script>
我找到了正确的方法。
为ASP.Net设计
<asp:TextBox runat="server" id="datepicker"></asp:TextBox>
在客户端服务器端
$(document).ready(function () {
$("[id$=datepicker]").datepicker();
});
将 $("[id$=datepicker]").datepicker();
替换为 $('#<%= datepicker.ClientID %>').datepicker();
然后日历将显示出来并能够在后面的代码中调用 datepicker。