2017-02-12 1 views
0

목록에 항목 배열을 출력하려고합니다. 문제는 제출을 클릭 할 때마다 각 배열 항목을 매번 하나가 아닌 각 목록 항목에 추가하는 것입니다.목록 값에 배열 값 추가

JSFIDDLE : https://jsfiddle.net/b7Lwbrof/

감사합니다!

var itemList = []; 
var container = document.getElementById('container'); 

// On click 
document.getElementById('submit').addEventListener("click", function(){ 
    var itemValue = document.getElementById('itemValue').value; 

    // Push to array 
    itemList.push(itemValue); 

    // Append to List 
    for(i=0; i<itemList.length; i++) { 
     var items = document.createElement("li"); 
     document.getElementById('container').appendChild(items); 
     items.innerHTML = itemList[i]; 
    } 
}) 
+0

당신이 목록에 마지막 항목을 추가하거나 전체 목록을 다시 작성할 수 중 하나. –

+0

@ NinaScholz : 그의 논리는 '전체 목록을 다시 작성'하는 것을 목표로합니다. –

답변

2

루프가 필요하지 않습니다. 항목을 itemList에 푸시 한 후에 추가하면됩니다. @digit 말했듯이

document.getElementById('submit').addEventListener("click", function(){ 
    var itemValue = document.getElementById('itemValue').value; 

    // Push to array 
    itemList.push(itemValue); 

    // Append to List 
    var items = document.createElement("li"); 
    document.getElementById('container').appendChild(items); 
    items.innerHTML = itemList[itemList.length-1]; 
}) 
2
items.innerHTML = itemList[itemList.length - 1] // get the last 

및 NOT

items.innerHTML = itemList[i] 

그리고 루프를 제거합니다.

바이올린 here