【问题标题】:Detect Textbox Change Using JQuery使用 JQuery 检测文本框更改
【发布时间】:2013-09-19 20:34:18
【问题描述】:

在VB中使用VS2012创建web应用,遇到以下问题:

我创建了一个填充 asp:TextBox 的 asp:CalendarExtender。此文本框具有分配给它的属性 Enabled="False"。一旦调用了 asp:CalendarExtender,它将在 TextBox 中放置一个日期,格式为“2000 年 9 月 1 日”。

我现在想使用 JQuery 来检测这种变化。我遇到过许多依赖于使用键盘或模糊进行文本更改的示例,但这些都不起作用。我什至将 JQuery 事件附加到触发日历弹出的按钮上,该按钮删除了 asp:TextBox 的 'Enabled=False' 属性 [我的思路是删除启用的属性,允许 JQuery 检测到粘贴更改,然后再次禁用文本框]

感谢您的任何想法或建议。

【问题讨论】:

    标签: jquery asp.net vb.net ajaxcontroltoolkit


    【解决方案1】:

    您需要在 TextBox 上使用 Enabled="False",还是使用 ReadOnly="True" 就足够了?因为如果没有启用TextBox,点击TextBox时不会弹出CalendarExtender。

    你可以这样做:

    <script type="text/javascript">
      function alertChanged() {
        alert("Text changed.");
      }
    </script>
    

    与:

    <asp:TextBox ID="tbxCalTest" runat="server" ReadOnly="true"></asp:TextBox>
    <ajaxToolkit:CalendarExtender ID="calendarTest" runat="server" TargetControlID="tbxCalTest"
      OnClientDateSelectionChanged="alertChanged"></ajaxToolkit:CalendarExtender>
    

    【讨论】:

    • 谢谢 timbck2。看来参数OnClientDateSelectionChanged 是这个问题的关键。 asp:TextBox 是否具有参数Enabled="False"ReadOnly="true" 并不重要,因为我正在使用按钮调用 CalendarExtender 控件,但仍然是一个有用的提示。
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 2011-09-03
    • 2016-01-19
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2013-10-31
    相关资源
    最近更新 更多