2013-02-12 1 views
-3

for 루프를 사용하여 javacript에 동적으로 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 –

+0

혼자 가면 위험 할 수 있습니다. [Fiddle] (http://jsfiddle.net/WLKm8/)을 가지고 계십시오.) – C5H8NNaO4

+0

@Glutamat ThankYou, Working Great – User

답변

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의 설명에 따르면 AddEventListener는 IE에서 지원하지 않는 것 같습니다 (MSIE and addEventListener Problem in Javascript? 참조). 대신 dystroy의 제안에 따라 jsfiddle을 사용하여 onclick을 사용하십시오.

+1

괜찮습니다. 도움이된다면 받아 들일 수 있겠습니까? – RainbowFish

+0

잘못된 대답 인 onclick에 대한 속성을 설정하는 것은 _eval_ 형식이므로 피해야합니다. –

+0

"onclick"과 함께 문자열을 사용하지 마십시오. 함수 할당 –

관련 문제