on change 이벤트의 배열 순번 불러오기

on change 이벤트의 배열 순번 불러오기

QA

on change 이벤트의 배열 순번 불러오기

본문

테이블 입력에서 input type="text" name= "arr[]" 형식으로 배열로 받아오고 

자바스크립트에서 $(document).on("change",('input[name="doc_sub[]"]').value, function(){ 이런식으로 값이 변할때마다 이벤트를 발생시키려고합니다.

테이블의 생성을 클릭이벤트로 하여서 클릭할때마다 증가되거나 삭제되게 코딩하였습니다.

첫번째 테이블 클릭 시

doc_sub[][0] -> [0] 값을 받아오고

두번째 테이블 클릭 시

doc_sub[][1] -> [1] 값을 받아와야 하는데


var i = 0;
    $(document).on("change",('input[name="doc_sub[]"]').value, function(){
        var length = $('input[name="doc_sub[]"').length;
        alert(length);
        alert(i);
        var sub = $('input[name="doc_sub[]"')[i].value;
        alert(sub);
        var arr = sub.split("|");
        $("input[name='doc_sub[]']")[i].value = arr[0];
        $("input[name='doc_code[]']")[i].value = arr[1];
        i++;
    });

 

이런식으로 만들었더니 순차적으로는 동작하는데 그 후 수정이 불가능 하게 되더라구요 ...

 

클릭 시 그 테이블의 배열만 건들수 있는 방법이있을까요?

이 질문에 댓글 쓰기 :

답변 1

한번 작성해 본 코드인데.. 동작될지는 잘 모르겠습니다.


$(document).on("change", 'input[name="doc_sub[]"]', function() {    
    var sub = $(this).val();    
    var arr = sub.split("|");
    $(this).val(arr[0]);

    $(this).parent().find("input[name='doc_code[]']").val(arr[1]);    
});

or


$(document).on("change", 'input[name="doc_sub[]"]', function() {
    var sub = $(this).val();
    var arr = sub.split("|");
    $(this).val(arr[0]);
 
    var idx = $(this).index();
    $("input[name='doc_code[]']")[idx].val(arr[1]);
});

답변 감사드립니다.~
doc_sub는 정상작동하는데 doc_code는 0번 테이블만 작동하네요 ㅠㅠ
idx 값이 계속 0으로 ㅎㅎ

배열하나더 추가해서 값을 저장시켜놓 방법으로 해결하였습니다.

감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,641 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT