javascript
  • arrays
  • 2011-05-02 3 views 0 likes 
    0

    나는 텍스트 상자의 배열을 만들고있다. 각 상자에는 해당하는 del 및 edit 옵션이 있습니다.그 값을 알고있는 사이에 자바 스크립트에서 배열의 인덱스를 얻는 방법

    for(i=0;i<5;i++) 
        { 
        <input type='text' id='pp_insti' name='pp_insti[]' value='"+institute+"' style='display:none;'> 
        <input type='button' class='edit-button' id='pp_edit name='pp_edit[]' onclick='pp_edit();'/> 
    <input type='button' class='del-button' id='pp_del name='pp_del[]' onclick='pp_del();'/> 
        } 
    

    편집 할 pp_inst []를 알기 위해 어떤 색인 값을 pp_edit에 전달해야합니까?

    사람이 .. 도움이 될 수 있습니다 감사

    +1

    코드가 자바 스크립트에서 유효하지 않은 것 같습니다. – DhruvPathak

    답변

    0

    같은 ID (pp_insti)와 여러 텍스트 상자를 만들려고하고 있습니다. 허용되지 않습니다.

    대신 i 값을 기준으로 pp_insti_1, pp_insti_2 등의 ID를 지정할 수 있습니다. 그런 다음 편집 및 삭제 기능에 i의 값을 전달하여 관심있는 텍스트 상자를 찾을 수 있습니다.

    0

    onclick 처리기가 이벤트 변수가 자동 전달 된 상태로 실행되기 때문에 값을 전달할 필요가 없습니다. 따라서 pp_edit()의 함수 정의를 pp_edit(ev)으로 변경 한 다음 함수 내에서 elem=ev.target을 사용하십시오. 여기서 elem은 클릭 된 DOM 요소입니다.

    또는 키워드를 pp_edit : onclick='pp_edit(this);의 각 호출에 전달한 다음 pp_edit : pp_edit(obj)을 정의 할 수 있습니다. 이제 pp_edit에서 obj은 클릭 된 요소를 나타냅니다.

    세번째 대안 대신에 라인, 프로그래밍 방식의 onclick 핸들러를 설정한다 : pp_edit가 호출 될 때

    for(....){ 
        elem=document.createElement('...'); 
        elem.onclick=pp_edit; 
    } 
    

    지금,이 클릭 된 요소의 컨텍스트 내에있을 것이며, pp_edit 안쪽 this 키워드는 클릭 된 요소를 나타냅니다.

    참고 : 다른 사용자가 지적했듯이 코드는 유효하지 않습니다. 그러나 귀하의 의견을 알기 위해 게시 한 것으로 가정합니다. 그렇지 않다면 반드시 document.createElement()과 같은 기능을 찾아야합니다.

    관련 문제