문제

나는 조금 어리석은 게시하는 것을 느낍니다. 그게 내가 읽은 것에서 꽤 똑바로 보이는 것처럼 보이지만, 왜 내가 항상 1의 값으로 항상 보이는지 모르겠다.

<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script>
<script>
    $(document).ready(function() {
        var button = $('#button');
        button.click(function(){    
           var files = $('#files');
           alert(files.length);
        });
     });
</script>
</head>
<body>
  <form>
    <input type="file" id="files" multiple="" />
    <input type="button" id="button" value="Upload" />
  </form>
</body>
</html>         
.

도움이 되었습니까?

해결책

경고 줄을 다음과 같이 변경하십시오.

alert(files[0].files.length);
.

이 작업을 수행하려는 것은 Filelist 객체. 그런 다음 FileList의 길이 속성 의 길이 속성 물체가 선택되었습니다. 그러나 먼저 jQuery가있는 입력 요소를 선택하지만 $ ( "# 파일"과 같은 jQuery 선택의 결과)은 jQuery 컬렉션이므로 파일 속성 만 있기 때문에 입력 요소에 대한 기본 DOM 오브젝트를 원하는 것입니다. 모든 jQuery 객체가 배열로 가장 먼저 가장 먼저 표준 배열 dereferencing을 사용하여 기본 DOM 요소를 얻을 수 있습니다. ( http://api.jquery.com/get//ap/a>)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top