当用户在文本框中输入单词时,不会触发keyup事件

时间:2015-02-20 07:47:01

标签: javascript jquery asp.net

我正在修改网站中的现有页面。 aspx页面包含以下元素:

<table id="Table1">
<tr>
<td>
<table>
<tr>
<th><div id="div1"><label id="label1"></div></th>
<th><div id="div2"><label id="label2"></div></th>
<th><div id="div3"><label id="label3"></div></th>
<th><div id="div4"><label id="label4"></div></th>
<th><div id="div5"><label id="label5"></div></th>
</tr>
</table>
</table>

现在的要求是在第3列标题中添加一个带有标签的文本框;所以我添加了文本框:

<th><div id="div3"><label id="label3">
<asp:textbox id="description"></div></th>

在javascript中,我为textbox的keyup事件添加了以下代码:

$(document.ready(function(){
$("#description").keyup(function(event)(){
alert("some message");
});
});

当页面加载并在texbox中输入内容时,则不显示任何警告框。如果我从列中删除文本框并将其保留在表外。然后显示警告框。 如果我试图显示文本框内容,那么我在加载页面时在警告框中未定义但如果我在$(document.ready()中执行以下操作:

var text= $("<%=description.ClientID%>");
alert(text.value);

这样我在加载页面时得到文本框的值。

需要帮助来触发表格中文本框的密钥。

2 个答案:

答案 0 :(得分:0)

您需要clientID

$(function() {
    $("<%=description.ClientID%>").keyup(function(event) {
        alert("some message");
    });
});

答案 1 :(得分:0)

使用class选择器代替

<th>
<div id="div3">
<label id="label5"></label>
    <asp:TextBox ID="description" runat="server" class="myClass"></asp:TextBox>
</div>
</th>

<强>脚本

$(function () {
        $(".myClass").keyup(function (event) {
            alert("some message");
        });
    });