将变量名称与数字连接起来

时间:2014-07-22 18:47:13

标签: javascript asp-classic

我有很多领域。 (Field1,Field2,Field3,Field4等)

我想在用户点击图片时在图片中插入图片。 如果我必须依靠我的特殊(我的意思是以奥运方式)下面的非算法过程,我永远不会完成。

任何以正确方式做到这一点的帮助都将受到赞赏。

<span onclick=Flag(1)>Field 1 <%=field1%>< /span>
<span onclick=Flag(2)>Field 2 <%=field2%>< /span>
<span onclick=Flag(3)>Field 3 <%=field3%>< /span>
<span onclick ..... < /span>

<script>
sub flag(x)
 Select Case x
  case 1
   field1="< img src="checkmark.png">"
   field2=""
   field3=""
   field4=""
  case 2
   field1=""
   field2="< img src="blue1.png">"
   field3=""
   field4=""
  case 3
   field1=""
   field2=""
   field3="< img src="blue1.png">"
  case ...
 end select
end sub
</script>

1 个答案:

答案 0 :(得分:0)

看起来你试图通过onclick方法调用vbscript子例程,而这是你无法做到的。 您只需使用javascript即可实现此功能

<script>
var flds = ["checkmark.png","blue1.png","blue2.png"];
function Flag(x) {
    document.getElementById("field"+x).innerHTML = "Field " + x + " <img src='" + flds[x-1] + "'>";
}
</script>

<span id="field1" onclick="Flag(1);">Field 1</span><br />
<span id="field2" onclick="Flag(2);">Field 2</span><br />
<span id="field3" onclick="Flag(3);">Field 3</span>

发生了什么:

script标签中的第一行声明了一个数组,并将所有图像名称添加到其中。

单击一个span时,它会调用javascript函数Flag,它会将一个数字传递给它。

传递给Flag的数字的相应跨度将使用从数组中提取的图像进行更新。 (您从数组中的x中提取1,因为数组索引从0开始而不是1)