-
<script> //첨부파일 $('.input_file').each(function(){ $('.input_file').change(function (e) { var index = $(this).index(); console.log(e.target.files[0].name); console.log(e.target.files[0].size); var i = $(this).val(); var name = $(this).attr('name'); var size = $(this).attr('data-size'); //$('input[name='+name+'_text]').val(i); //$(this).find('.upload_text').text(i); $('.upload_'+name).text(e.target.files[0].name); $('.upload_'+size).text(e.target.files[0].size/1000+"KB"); }); }); </script>
each();
jQuery를 사용해 배열을 관리하고자 할 때 each() 메서드를 사용할 수 있다.
each() 메서드는 매개 변수로 받은 것을 사용해 for in 반복문과 같이 배열이나 객체의 요소를 검사할 수 있는 메서드
each()의 2가지 사용타입// jQuery 유틸리티 메서드
$.each(object, function(index, item){ });
// jQuery 일반 메서드
$(selector).each(function(index, item){ })
※ 상세정보는 별도로 다루기로 함
change()
해당하는 요소의 value에 변화가 생길 경우 이를 감지하여 등록된 callback함수를 동작시킵니다.
해당 코드는 input,textarea,select 태그에 동작합니다.
<script> $(function () { var $inputElement = $("input"); $inputElement.change(function() { alert("파일 첨부가 완료되었습니다."); }) }); </script>
※ <input type="file" value=""> 태그에서 파일이 첨부되면 value값에 변화가 생겨 change()가 동작한다.
※ 상세정보는 별도로 다루기로 함
e.target.files
e.target은 이벤트가 일어난 대상, 즉 input 자신을 뜻함
files 파일에 대한 정보가 아래와 같이 배열형태의 객체로 생성시킴
name: 'zerocho.png', // 파일 이름 size: 74120, // byte 단위 파일 크기 lastModified: 1495791249810, // 올린 시간 timestamp type: 'image/png'
※ e.target.files[0].name 은 each(), index()를 통해 얻어낸 첫째 데이터의 첫번째 항목의 값, 즉 name의 값을 뜻한다.
'工夫 > JAVASCRIPT+JQUERY' 카테고리의 다른 글
[jQuery] 배열을 관리 each() (0) 2021.05.19 [jQuery] 인덱스 값을 사용해 원하는 위치의 요소를 선택 eq() / get() (0) 2021.05.19 [jQuery] 체크버튼으로 특정 블럭( ROW) 보이고/감추기 (0) 2021.05.16 [jQuery] 다양한 jQuery CDN, 항상 최신버전으로 가져오기 (0) 2021.05.11 [jQuery] jQuery를 이용하여 웹브라우져의 해상도 구하기 (0) 2021.05.11 댓글