동적으로 생성 된 각 버튼에 대해 다른 onclick 메소드를 참조하는 방법은 무엇입니까?

라도

JSON 데이터로 테이블을 만드는 스크립트가 있습니다. 각 행에는 두 개의 텍스트와 하나의 버튼이 있습니다. 버튼의 onlick 메소드는 이전 테이블의 동일한 행에서 두 개의 텍스트로 채워질 다른 HTML 페이지로 이동해야합니다. 첫째, 다른 버튼의 onclick에서 다른 텍스트를 콘솔로 인쇄하려고합니다. 이를 수행해야하는 부분은 다음과 같습니다.

for ( var i in json) {
var row = table.insertRow(0);
var cel1 = row.insertCell(0);
var cel2 = row.insertCell(1);
var cel3 = row.insertCell(2);
cel1.innerHTML = json[i].nome;
cel2.innerHTML = json[i].idade;
var b = document.createElement("BUTTON");
var idd = "id" + i;
b.setAttribute("id", idd);
var t = document.createTextNode("Loja");
b.appendChild(t);
b.onclick = function(event) {
    console.log(idd);
}
cel3.appendChild(b);

이것은 모든 올바른 ID로 테이블을 올바르게 생성하지만 모든 버튼을 누르면 iddID 버튼과 일치하는 값이 아닌 마지막 값이 인쇄 됩니다. 누구든지 이것을 해결하는 방법이나 그것을 구현하는 더 나은 방법을 알고 있습니까?

다른

내가 보는 주요 문제는 변수 idd를 로깅하고 있다는 것입니다. 이 변수는 for 루프 뒤와 버튼을 클릭 할 때까지 정적 값을 갖습니다.

대신 다음을 시도해야합니다.

b.onclick = function(event) {
    console.log(this.id);
}

또한 속성으로 속성을 설정하지 않고도 ID를 설정할 수 있습니다.

b.id = idd;

다음은 쉽게 시각화 할 수있는 예입니다.

for(var i=0, j=9; i<j; i++){
    var tB = document.body.appendChild(document.createElement('button'));
    tB.id = tB.innerHTML = i;
    tB.onclick = function(){
        console.log(i, this.id) //logs 9 (i is now statically 9) and the buttons id
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java에서 동적으로 생성 된 요소를 다시 호출하는 방법은 무엇입니까?

분류에서Dev

Android Studio에서 동적으로 생성 된 여러 버튼에 대해 onclick 작업을 수행하는 방법

분류에서Dev

React에서이 onClick 코드 조각이 작동하지만 다른 방식으로 작성하지 않은 이유는 무엇입니까?

분류에서Dev

react.js-동적으로 생성 된 버튼에서 성공에 요소를 추가하는 방법은 무엇입니까?

분류에서Dev

조건에 따라 다른 생성자로 C ++ 참조를 초기화하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 링크를 클릭하여 해당 링크에서 새 동적 페이지를 생성하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 요소에 대해 다른 이벤트를 설정하는 방법

분류에서Dev

각 요소에서 동적으로 생성 된 이벤트 리스너를 제거하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 동적으로 생성 된 onclick 함수에 인수를 삽입하는 방법은 무엇입니까?

분류에서Dev

각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

분류에서Dev

각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

분류에서Dev

각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

분류에서Dev

Lambda에서 SAM을 통해 생성 된 AWS 리소스를 참조하는 방법은 무엇입니까?

분류에서Dev

조건문에서 동적으로 생성 된 JavaScript 객체를 사용하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 목록에서 버튼으로 텍스트를 변경하는 방법은 무엇입니까?

분류에서Dev

각도 js에서 동적으로 생성 된 행렬에있는 텍스트 상자 필드에 값을 할당하는 방법은 무엇입니까?

분류에서Dev

다른 HTML 파일에서 동적으로 생성 된 이미지를 사용하는 방법은 무엇입니까?

분류에서Dev

jQuery 동적으로 생성 된 div에서 동적으로 생성 된 요소를 추가 / 제거하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 요소 (LI)에 ondragstart =“drag (event)”를 추가하는 방법은 무엇입니까?

분류에서Dev

div 수준에서 동적으로 생성 된 필드를 제거하는 방법은 무엇입니까?

분류에서Dev

람다 표현식에 대해 생성 된 펑터의 주소를 잡는 방법은 무엇입니까?

분류에서Dev

reactjs-자식 구성 요소에서 소품으로 전달 된 버튼의 onclick으로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Linux 쉘에서 다른 파일을 참조하는 각 생성 테이블의 n 번째 필드를 얻는 방법은 무엇입니까?

분류에서Dev

생성 된 목록의 각 요소에 자동으로 버튼을 추가하는 방법이 있습니까?

분류에서Dev

버튼으로 생성 된 객체를 테이블에 추가하는 방법은 무엇입니까?

분류에서Dev

반복으로 생성 된 테이블 셀이 숨겨져 있습니다. 버튼으로 각 항목을 공개하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 입력에서 양식 데이터를 POST하는 방법은 무엇입니까?

분류에서Dev

TextView Array에서 동적으로 생성 된 textview를 별도로 처리하는 방법은 무엇입니까?

분류에서Dev

Javascript / jquery에서 동적으로 생성 된 div 요소에 액세스하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Java에서 동적으로 생성 된 요소를 다시 호출하는 방법은 무엇입니까?

  2. 2

    Android Studio에서 동적으로 생성 된 여러 버튼에 대해 onclick 작업을 수행하는 방법

  3. 3

    React에서이 onClick 코드 조각이 작동하지만 다른 방식으로 작성하지 않은 이유는 무엇입니까?

  4. 4

    react.js-동적으로 생성 된 버튼에서 성공에 요소를 추가하는 방법은 무엇입니까?

  5. 5

    조건에 따라 다른 생성자로 C ++ 참조를 초기화하는 방법은 무엇입니까?

  6. 6

    동적으로 생성 된 링크를 클릭하여 해당 링크에서 새 동적 페이지를 생성하는 방법은 무엇입니까?

  7. 7

    동적으로 생성 된 요소에 대해 다른 이벤트를 설정하는 방법

  8. 8

    각 요소에서 동적으로 생성 된 이벤트 리스너를 제거하는 방법은 무엇입니까?

  9. 9

    자바 스크립트에서 동적으로 생성 된 onclick 함수에 인수를 삽입하는 방법은 무엇입니까?

  10. 10

    각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

  11. 11

    각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

  12. 12

    각 시드 문자열에 대해 동일한 uuid를 생성하는 방법은 무엇입니까?

  13. 13

    Lambda에서 SAM을 통해 생성 된 AWS 리소스를 참조하는 방법은 무엇입니까?

  14. 14

    조건문에서 동적으로 생성 된 JavaScript 객체를 사용하는 방법은 무엇입니까?

  15. 15

    동적으로 생성 된 목록에서 버튼으로 텍스트를 변경하는 방법은 무엇입니까?

  16. 16

    각도 js에서 동적으로 생성 된 행렬에있는 텍스트 상자 필드에 값을 할당하는 방법은 무엇입니까?

  17. 17

    다른 HTML 파일에서 동적으로 생성 된 이미지를 사용하는 방법은 무엇입니까?

  18. 18

    jQuery 동적으로 생성 된 div에서 동적으로 생성 된 요소를 추가 / 제거하는 방법은 무엇입니까?

  19. 19

    동적으로 생성 된 요소 (LI)에 ondragstart =“drag (event)”를 추가하는 방법은 무엇입니까?

  20. 20

    div 수준에서 동적으로 생성 된 필드를 제거하는 방법은 무엇입니까?

  21. 21

    람다 표현식에 대해 생성 된 펑터의 주소를 잡는 방법은 무엇입니까?

  22. 22

    reactjs-자식 구성 요소에서 소품으로 전달 된 버튼의 onclick으로 데이터를 가져 오는 방법은 무엇입니까?

  23. 23

    Linux 쉘에서 다른 파일을 참조하는 각 생성 테이블의 n 번째 필드를 얻는 방법은 무엇입니까?

  24. 24

    생성 된 목록의 각 요소에 자동으로 버튼을 추가하는 방법이 있습니까?

  25. 25

    버튼으로 생성 된 객체를 테이블에 추가하는 방법은 무엇입니까?

  26. 26

    반복으로 생성 된 테이블 셀이 숨겨져 있습니다. 버튼으로 각 항목을 공개하는 방법은 무엇입니까?

  27. 27

    동적으로 생성 된 입력에서 양식 데이터를 POST하는 방법은 무엇입니까?

  28. 28

    TextView Array에서 동적으로 생성 된 textview를 별도로 처리하는 방법은 무엇입니까?

  29. 29

    Javascript / jquery에서 동적으로 생성 된 div 요소에 액세스하는 방법은 무엇입니까?

뜨겁다태그

보관