我正在修改网站中的现有页面。 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);
这样我在加载页面时得到文本框的值。
需要帮助来触发表格中文本框的密钥。
答案 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");
});
});