您好我正在尝试使用for循环动态创建文本框,并希望在所有这些文件中实现日历。我的代码如下:
for (var j = 1; j <= 5; j++) {
my_proj.innerHTML = my_proj.innerHTML +'<input type="text" name="txtStartDate" id="txtStartDate"+j runat="server" BackColor="#D6E4ED" BorderStyle="Inset" Width="10px" ></input>'
+'<a href="javascript:;" onclick="window.open(\'PopUp.aspx?textbox=txtStartDate+j\',\'cal\',\'width=250,height=225,left=270,top=180\')">'
}
因为我需要为所有文本框分别设置id,所以我试图用变量j连接它。但它不起作用并将错误指定为'Unknown identifier "startDate"+j"'
。
请提出解决此问题的建议。任何其他想法来解决这个问题也是如此。顺便说一下,我正试图在.aspx页面中实现它。
提前致谢。
任何人都可以给我任何其他例子来实现相同的????请。
答案 0 :(得分:3)
在将变量附加到字符串之前必须关闭字符串,以便将其识别为变量,而不仅仅是字母“j”。
所以。 。 。
var j = 10,
str = "He is j years old";
。 。 。不行;你需要这样做:
var j = 10,
str = "He is " + j + " years old";
您的代码应如下所示:
my_proj.innerHTML = my_proj.innerHTML +'<input type="text" namea="txtStartDate" id="txtStartDate' + j +'" runat="server" BackColor="#D6E4ED" BorderStyle="Inset" Width="10px" ></input>'
+'<a href="javascript:;" onclick="window.open(\'PopUp.aspx?textbox=txtStartDate' + j + '\',\'cal\',\'width=250,height=225,left=270,top=180\')">'
答案 1 :(得分:0)
您需要重新格式化字符串,使其具有正确的特殊字符表达式。双引号和单引号需要有一个反斜杠,以便从字面上理解字符。还有大量其他Javascript特殊字符:http://www.w3schools.com/js/js_special_characters.asp