【问题标题】:.net TextBox control not triggering Datepicker widget.net TextBox 控件不触发 Datepicker 小部件
【发布时间】:2014-08-26 21:04:55
【问题描述】:

研究了通过 JQuery 将文本/日期添加到 asp.net 文本框控件,并找到了这个解决方案: add text to an asp.net textbox control with jQuery 但是它并没有像说明的那样工作

该控件可能在其他控件中有好几层?我有一个旧的 javascript 链接,似乎指向:aspnetForm.ctl00_ContentPlaceHolder1_FormView1_TextBox911,但不确定这是否适用于 JQuery?

ASPX:

 <asp:TextBox ID="TextBox911" runat="server">
            </asp:TextBox><br />

JQuery:

$(document).ready(function() {
  $('#<%=TextBox911.ClientID%>').datepicker({
    beforeShowDay: unavailable
  });
});

也试过了:

$(document).ready(function() {
  $("#"+'<%=TextBox911.ClientID%>').datepicker({
    beforeShowDay: unavailable
  });
});

母版页包含:

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>

错误:

`Compiler Error Message: BC30451: Name 'TextBox911' is not declared.`

【问题讨论】:

  • 为控件设置一个类,并使用该类而不是使用 ID 附加 DatePicker。 &lt;asp:TextBox ID="TextBox911" runat="server" CssClass="datePicker"&gt;&lt;/asp:TextBox&gt; ... $('.datePicker').datepicker()

标签: jquery asp.net datepicker


【解决方案1】:

您的文本框TextBox911 似乎位于另一个控件(例如中继器或网格)中。这意味着框架将在运行时动态生成 id。您不能通过它的 id 来引用这样的控件。

要查看差异,请将您的文本框移到任何其他控件之外,这样它就可以在Form 中独立运行,您会发现它有效。

【讨论】:

  • 我怎样才能找到它在哪里?我需要它留在控制范围内
  • 试过:`
    ` 用:` $(".myTextBox ").datepicker()` 仍然无法正常工作...我还遗漏了什么吗?
  • 创建一个没有其他内容的小项目,您发布的代码将按 id 和按类工作。
  • 是的,你是对的,但是我一直在寻找一种从控件层中检索 ID 的方法。为每个控件添加一个类确实有效,但是我有数百个我不想更改的控件。
  • @BarclayVision 除了添加一个类之外,还有其他现有标准可以将您所追求的文本框与页面上的所有其他文本框区分开来吗?
猜你喜欢
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
相关资源
最近更新 更多