on change 이벤트의 배열 순번 불러오기 채택완료
공부중입니다
4년 전
조회 1,475
테이블 입력에서 input type="text" name= "arr[]" 형식으로 배열로 받아오고
자바스크립트에서 $(document).on("change",('input[name="doc_sub[]"]').value, function(){ 이런식으로 값이 변할때마다 이벤트를 발생시키려고합니다.
테이블의 생성을 클릭이벤트로 하여서 클릭할때마다 증가되거나 삭제되게 코딩하였습니다.
첫번째 테이블 클릭 시
doc_sub[][0] -> [0] 값을 받아오고
두번째 테이블 클릭 시
doc_sub[][1] -> [1] 값을 받아와야 하는데
</p>
<p>var i = 0;</p>
<p> $(document).on("change",('input[name="doc_sub[]"]').value, function(){</p>
<p> var length = $('input[name="doc_sub[]"').length;</p>
<p> alert(length);</p>
<p> alert(i);</p>
<p> var sub = $('input[name="doc_sub[]"')[i].value;</p>
<p> alert(sub);</p>
<p> var arr = sub.split("|");</p>
<p> $("input[name='doc_sub[]']")[i].value = arr[0];</p>
<p> $("input[name='doc_code[]']")[i].value = arr[1];</p>
<p> i++;</p>
<p> });</p>
<p>
이런식으로 만들었더니 순차적으로는 동작하는데 그 후 수정이 불가능 하게 되더라구요 ...
클릭 시 그 테이블의 배열만 건들수 있는 방법이있을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
한번 작성해 본 코드인데.. 동작될지는 잘 모르겠습니다.
</p>
<p>$(document).on("change", 'input[name="doc_sub[]"]', function() {
var sub = $(this).val();
var arr = sub.split("|");
$(this).val(arr[0]);</p>
<p>
$(this).parent().find("input[name='doc_code[]']").val(arr[1]);
});</p>
<p>
or
$(document).on("change", 'input[name="doc_sub[]"]', function() {
var sub = $(this).val();
var arr = sub.split("|");
$(this).val(arr[0]);</p>
<p> </p>
<p> var idx = $(this).index();
$("input[name='doc_code[]']")[idx].val(arr[1]);
});
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
공부중입니다
4년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
doc_sub는 정상작동하는데 doc_code는 0번 테이블만 작동하네요 ㅠㅠ
idx 값이 계속 0으로 ㅎㅎ
배열하나더 추가해서 값을 저장시켜놓 방법으로 해결하였습니다.
감사합니다.