如何根据迭代次数获取控件?

时间:2011-05-30 04:14:44

标签: javascript jquery asp.net

我想根据迭代次数动态获取clientId,例如

var clientID = "<%=NumericTextBox" + 1 + ".ClientID %>";
var id = document.getElementById(clientID);

但如果我尝试使用上面的语句来获取控件它会抛出“;期望”,“)表示”错误是什么才能获得控制权?

3 个答案:

答案 0 :(得分:2)

我认为你在asp.net中有数字文本框控件。如果你需要获取它的id,你可以使用

var clientId = '<%= NumericTextBox.ClientId %>';
var txt = document.getElementById(clientId);

如果文本框位于网格控件内,通常会在结尾或开头附加数字

var clientId = 'ctl_0' + i + '<%= NumericTextBox.ClientId %>'

您可以通过查看源来检查框架正在呈现的ID。

答案 1 :(得分:1)

我不知道您正在使用哪种服务器端语言和模板引擎,但我认为您使用的方式不正确,而这就是错误所在。在大多数语言中,这将解析为执行以下代码的服务器端模板指令:

NumericTextBox " + 1 + " .ClientID

在大多数语言中哪些是胡说八道,在我所知的任何语言中看起来都是错误的。 (它实际上可能是有效的Ruby,但可能不正确Ruby,因为字符串通常没有ClientID方法。)

答案 2 :(得分:0)

var clientID = '<%=FindControl("NumericTextBox" + "1").ClientID%>';
var id = document.getElementById(clientID);