Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算有多少文件附加到多个输入_Javascript_Jquery_Input - Fatal编程技术网

Javascript 计算有多少文件附加到多个输入

Javascript 计算有多少文件附加到多个输入,javascript,jquery,input,Javascript,Jquery,Input,我有一个代码,当用户单击一个输入(type=“file”)时,它会创建另一个输入。我想计算all附加到all输入的文件的数量,而不仅仅是一个。 实际上,我的代码只计算第一次输入中的文件,而不是它们的总数: <div class="upload-container"> <input type="file" multiple="multiple" class="upload" onclick="boomFunction(this)"> </div> <p



我有一个代码,当用户单击一个输入(type=“file”)时,它会创建另一个输入。我想计算all附加到all输入的文件的数量,而不仅仅是一个。
实际上,我的代码只计算第一次输入中的文件,而不是它们的总数:

<div class="upload-container">
  <input type="file" multiple="multiple" class="upload" onclick="boomFunction(this)">
</div>
<p id="total_count"></p>

<script>
function boomFunction(obj) {
            $(".upload-container").append("<input type='file' multiple='multiple' class='upload' onclick='boomFunction(this)'>");
}
$(document).ready(function(){
              $('.upload-container .upload').change(function () {
                $('#total_count').text(this.files.length + " files selected");
              });
            });
</script>

功能(obj){ $(“.upload container”).append(“”); } $(文档).ready(函数(){ $('.upload container.upload').change(函数(){ $(“#总#计数”).text(this.files.length+“所选文件”); }); });

  • 向文档中添加动态元素时,必须将选择器的语法更改为:

    $(document).on("change",'.upload-container .upload',function () {})
    
  • 您应该遍历所有
    .upload
    元素以计算总文件数

  • id=“upload”
    设置为新元素时出错。它应该是
    class=“upload”

  • 
    

    功能(obj){ $(“.upload container”).append(“”); } $(文档).ready(函数(){ $(document).on(“change”,'.upload container.upload',函数(){ var合计=0; $(“.upload”).each(函数(){ 总计=总计+this.files.length; }) $('total#u count')。文本(总计+“所选文件”); }); });
    id=“upload”
    应该是
    class=“upload”
    。然后只需迭代所有
    。上传
    并计算文件数。没错,我更正了它,但使用class=“upload”代码不起作用。您需要使用
    onchange
    事件侦听器,而不是
    onclick
    否,使用onchange代码也不起作用。。。