간단한 자바 스크립트 폼을 작성하고 있습니다. 각 버튼 옆에 버튼이있는 장치 목록으로, 장치에 대한 정보를 편집 할 수있는 텍스트 필드로 연결됩니다. 대신 모든 버튼을 사용하면 목록의 마지막 장치에 대한 정보로 이동합니다. 여기에 내가 목록을 만드는거야 코드 조각은 다음과 같습니다함수 선언에서 변수를 평가하는 방법?
for(var i in portal.clients){
var row = document.createElement('tr');
var cell2 = document.createElement('td');
var button = document.createElement('button')
var title = document.createTextNode("Edit Config")
button.appendChild(title)
button.onclick = function(){displaySettingsPage(portal.clients[i]); console.log("Showing client: " + clientNum)}
cell2.appendChild(button)
row.appendChild(button)
var cell1 = document.createElement('td');
var client = document.createTextNode(portal.clients[i].info.description.name)
cell1.appendChild(client)
row.appendChild(cell1)
table.appendChild(row);
}
나는 문제가 버튼을 대신 클릭 할 때 내가 의미처럼 함수가 선언 될 때 onClick
함수 선언에서 i
평가하기 것을 가정 그것까지. 함수를 선언 할 때 변수를 강제로 평가할 수있는 방법이 있습니까? 아니면 함수에 클라이언트 인덱스를 전달하는 데 사용해야하는 다른 방법이 있습니까?
이 질문을보십시오 http : //stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example – agradl