i'm working on it
Home
  • 분류 전체보기 (44)
    • 工夫 (39)
      • HTML+CSS (8)
      • JAVASCRIPT+JQUERY (8)
      • LINUX+ETC (0)
      • PHP (10)
      • MYSQL (0)
      • python (0)
      • ETC (13)
    • 希望 (5)
      • a place to go (0)
      • what to buy (5)
    • 情報 (0)
      • 갑상선기능저하증 (0)
      • 레시피 (0)
      • 운동 (0)
    • 日常 (0)
    • 寫眞 (0)
    • 徽晛 (0)
Home
  • 분류 전체보기 (44)
    • 工夫 (39)
      • HTML+CSS (8)
      • JAVASCRIPT+JQUERY (8)
      • LINUX+ETC (0)
      • PHP (10)
      • MYSQL (0)
      • python (0)
      • ETC (13)
    • 希望 (5)
      • a place to go (0)
      • what to buy (5)
    • 情報 (0)
      • 갑상선기능저하증 (0)
      • 레시피 (0)
      • 운동 (0)
    • 日常 (0)
    • 寫眞 (0)
    • 徽晛 (0)
블로그 내 검색

i'm working on it

사진, 캠핑을 좋아하는 휘현/휘흔 아빠의 Life Log입니다

  • 工夫/JAVASCRIPT+JQUERY

    [jQuery] 다중업로드시 파일정보 다루기

    2021. 5. 16.

    by. 휘현아빠

         <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

    댓글

    관련글

    • [jQuery] 배열을 관리 each() 2021.05.19
    • [jQuery] 인덱스 값을 사용해 원하는 위치의 요소를 선택 eq() / get() 2021.05.19
    • [jQuery] 체크버튼으로 특정 블럭( ROW) 보이고/감추기 2021.05.16
    • [jQuery] 다양한 jQuery CDN, 항상 최신버전으로 가져오기 2021.05.11
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana & Custom ing
블로그 이미지
휘현아빠

티스토리툴바