1

我正在从后面的代码创建一个动态文本框控件......我的问题是。如何将 javascript 代码附加到动态创建的文本框?

这是创建动态文本框的代码。

TextBox t = new TextBox();
t.ID = "txtDynamic";
t.TextMode = TextBoxMode.MultiLine;
t.Rows = 7;

下面是Javascript....想添加到上面创建的控件。

$('txtDynamic').limit('140','#charsLeft');
4

2 回答 2

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');
于 2012-07-09T15:24:12.690 回答
1

服务器端代码会更改 ID,因此您需要使用客户端 ID。同样在您的示例中,您缺少#jQuery 选择器。

$('#<%=txtDynamic.ClientID%>').limit('140','#charsLeft');

这仅在代码是内联 JavaScript 时有效,在外部文件中无效。

如果不是,最好设置一个 CSSClass 并在选择器中引用它。

于 2012-07-09T15:26:27.937 回答