使用JavaScript动态获取标签中的选定值

时间:2013-02-12 08:41:18

标签: javascript html

我必须使用for循环在 javascript 中动态打印10个值。在这里,我使用标签进行打印。

现在,当我点击标签上的特定文字时,我可以显示一个带有该文字名称的警告

任何人帮助我如何做到这一点。

<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>

1 个答案:

答案 0 :(得分: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 :根据Benjamin Gruenbaum的评论,IE似乎不支持AddEventListener(请参阅MSIE and addEventListener Problem in Javascript?)。根据dystroy的建议,重写jsfiddle以使用onclick。