我想根据迭代次数动态获取clientId,例如
var clientID = "<%=NumericTextBox" + 1 + ".ClientID %>";
var id = document.getElementById(clientID);
但如果我尝试使用上面的语句来获取控件它会抛出“;期望”,“)表示”错误是什么才能获得控制权?
答案 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);