2013-02-12 81 views
-3

我必须动态地在javascript中使用for循环打印10个值。这里我拿标签进行打印。现在使用JavaScript动态获取标签中的选定值

当我点击标签上特定的文本,我可以告诉一个警报,该文本名称,

任何一个可以帮助我如何做到这一点。

<html> 
<head> 
<script type = "text/javascript"> 


var x = ""; 
function checkCookie(){ 

var arr = new Array("One","Two","Three"); 
for(var i=0; i<arr.length; i++) { 
    x = x + arr[i] + "<br>" + "<br>"; 
    document.getElementById("idval").innerHTML = x; 
} 

} 

function getItem(){ 
// here i want to display the selected label item 
} 


</script> 
</head> 
<body onload = "checkCookie()"> 
<label id = "idval" onclick = "getItem()"> </label> 
</body> 
</html> 
+3

显示一些代码。阅读此:http://whathaveyoutried.com – 2013-02-12 08:42:25

+0

独自一人走,这是危险的,带着[小提琴](http://jsfiddle.net/WLKm8/)与你;) – C5H8NNaO4 2013-02-12 09:04:04

+0

@Glutamat谢谢你,工作好 – User 2013-02-12 09:38:35

回答

3

从您的问题描述中不完全清楚您需要什么。如果您想要的是动态创建标签并访问其onclick事件;看看Javascript函数appendChild和setAttribute。我创建了一个的jsfiddle这表明你可能需要的东西:

function createLabels() {  
    for(var i=0; i<10; i++) { 
     var label = document.createElement('label');   
     label.innerHTML = "item " + i;  
     label.onclick = onClick; 
     document.body.appendChild(label);  
    } 
} 

function onClick(e){ 
    alert(e.srcElement.innerHTML) 
} 

http://jsfiddle.net/R4abH/2/

编辑1:添加的onclick属性被认为是不好的做法。改为使用事件侦听器回答。

编辑2:按照下面本杰明Gruenbaum的评论,似乎的addEventListener并没有被IE支持(请参阅MSIE and addEventListener Problem in Javascript?)。根据经纪人的建议,重做jsfiddle来代替使用onclick。

+1

没问题 - 请你可以标记这个答案为接受,如果它的帮助? – RainbowFish 2013-02-12 09:39:02

+0

不好的答案,将属性设置为onclick是_eval_的一种形式,应该避免使用 – 2013-02-12 10:02:32

+0

请勿使用带有“onclick”的字符串。分配函数 – 2013-02-12 10:02:35

相关问题