我正在从后面的代码创建动态文本框控件...我的问题是。如何将javascript代码附加到动态创建的文本框?
这是创建动态文本框的代码。
TextBox t = new TextBox();
t.ID = "txtDynamic";
t.TextMode = TextBoxMode.MultiLine;
t.Rows = 7;
下面是Javascript ....想要添加到上面创建的控件。
$('txtDynamic').limit('140','#charsLeft');
答案 0 :(得分:1)
使用ASP.NET WebForms时,我总是尽量避免在我的javascript中引用ID,因为呈现的ID可能并不总是与服务器端ID相同。
使用CssClass
确保一致性,并在jquery选择器中使用.
前缀而不是#
前缀。
TextBox t = new TextBox();
t.ID = "txtDynamic";
t.TextMode = TextBoxMode.MultiLine;
t.Rows = 7;
t.CssClass = "limit140";
$('.limit140').limit('140','#charsLeft');
答案 1 :(得分:1)
服务器端代码更改了ID,因此您需要使用clientid。同样在您的示例中,您缺少jQuery选择器的#
。
$('#<%=txtDynamic.ClientID%>').limit('140','#charsLeft');
这仅在代码是内联JavaScript时才有效,在外部文件中不起作用。
如果不是,最好设置一个CSSClass并在选择器中引用它。