为javascript数组元素赋值在循环时不起作用(classic.asp),但在没有循环的情况下也能起作用,为什么
Assigning values to javascript array elements doesn’t work when looped (classic .asp), but it works without looping, why?
我使用的是classic.asp。我有以下内容:
<script language="javascript">
var JSintTotal = <% =intTotal%>;
var JSarrHotelsProdCols = Create2DArray(JSintTotal);
<%
for x = 0 to intTotal - 1
response.write "JSarrHotelsProdCols["&x&"][0] = "&arrHotelsProdCols(0,x)&"';" & vbCrLf
response.write "JSarrHotelsProdCols["&x&"][1] = '"&arrHotelsProdCols(1,x)&"';" & vbCrLf
response.write "JSarrHotelsProdCols["&x&"][2] = '"&arrHotelsProdCols(2,x)&"';" & vbCrLf
response.write "JSarrHotelsProdCols["&x&"][3] = '"&arrHotelsProdCols(3,x)&"';" & vbCrLf
next
%>
</script>
Create2DArray()函数工作正常,我从这个网站上获得。
如果我注释掉for/next循环并使x=0,这将用arrHotelsProdCols(0,0)到arrHotelsProductCols(3,0)中的正确值填充JSarrHotelsPProdCols[0][0]到JSarrHoteldProdCols[0]。我在打开.asp页面后,使用DblClick上的警报函数来检查这一点。
我还可以看到写入"页面源"的文本:
JSarrHotelsProdCols[0][0] = '4 MEX HOTEL & LIVING';
JSarrHotelsProdCols[0][1] = '3 STAR';
JSarrHotelsProdCols[0][2] = '2KM';
JSarrHotelsProdCols[0][3] = '8KM';
但是,当我运行for/next循环时,我无法使用相同的alert函数在JSarrHotelsProdCols数组中看到值,但我可以看到在"page source"中正确写出的所有612 x 4语句。
为什么当我循环完成这个任务时,它不起作用,但当我不循环完成它时,它起作用?
如果你需要更多信息,请告诉我,我不确定多少就足够了。
谢谢。
循环中的第一行缺少撇号。改变
response.write "JSarrHotelsProdCols["&x&"][0] = "&arrHotelsProdCols(0,x)&"';" & vbCrLf
到…
response.write "JSarrHotelsProdCols["&x&"][0] = '"&arrHotelsProdCols(0,x)&"';" & vbCrLf
您可以在JavaScript中用反斜杠转义数组值中的撇号,例如Replace(arrHotelsProdCols(0,x), "'", "''")
。或者,您可以将单引号替换为双引号(如果数组值中不存在双引号),例如…
response.write "JSarrHotelsProdCols["&x&"][0] = """&arrHotelsProdCols(0,x)&""";" & vbCrLf
(注意,双引号是重复的,因为如果它们已经在VBScript字符串中,VBScript需要这样做)
相关文章:
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- jQuery:如何在没有for循环的情况下将事件处理程序应用于$('#text'+'任意整数
- 如何在不每秒调用太多次的情况下通过Soundcloud解析api进行循环
- JavaScript while循环没有'不能在有条件的情况下工作
- 在没有大量回调函数的情况下在列表元素上循环播放同一动画
- 在 JS 中使 for 循环在没有库的情况下等待
- 在forEach循环中创建promise,并在不嵌套的情况下使用它们
- 如何在不使用for循环的情况下增量增加变量的值
- Javascript-在没有循环的情况下生成多个随机数
- Bxslider预加载程序在没有图像的情况下以无限循环运行
- 在给定偏移量大于数组的情况下,在数组上无缝循环,向前或向后循环
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- 在没有javascript循环的情况下多次执行命令
- 循环中的一个变量 - 如何在我的情况下修复它
- JavaScript/jQuery 脚本在没有循环的情况下循环 3 次
- 在不访问对象键的情况下循环访问对象值
- 有没有办法在不使用循环的情况下更新多个文档以将特定数字添加到一列
- 如何在不使用任何循环的情况下增加元素的宽度
- Firefox/Firebug JavaScript 控制台.log在某些情况下无法在 for 循环中工作