.on('change', '.class')选择了错误的项(仅第一个)

.on('change', '.class') selects the wrong item (first one only)

本文关键字:错误 第一个 class change on 选择      更新时间:2023-09-26

我的网站上有几个文件上传/相机输入,它们都做同样的事情,但发送不同的属性:

<!--- INPUT 1 --- (MODULE 111111) -->
<input type="file" capture="camera" class="uploadImage"
   data-schedule="1"
   data-schedule-object="27"
   data-schedule-object-module="111111"                
   id="cameraInput_1" 
   name="cameraInput_1">
<!--- INPUT 2 --- (MODULE 222222) -->
<input type="file" capture="camera" class="uploadImage"
   data-schedule="1"
   data-schedule-object="27"
   data-schedule-object-module="222222"                
   id="cameraInput_2" 
   name="cameraInput_2">

现在点击后,它上传了一个图像,并在DB中创建了几个条目

<<p> JS代码/strong>
$(document).on('change', '.uploadImage', function () {
    var $inpt = $(this);
    var $som = $inpt.attr('data-schedule-object-module');
    ....
    console.log($som);
    ....
});

现在,当我单击输入1时,一切都很好,但是当我选择输入2(或任何其他以下)时,console.log($som)总是给我11111来自FIRST的属性。我在哪里错在我的JS?

边注

另一种方法是有一个文件上传和触发,点击一个选择器,有所有需要的属性,但这将意味着一些重新编码,我认为我有它目前的方式必须以某种方式是可能的?

$("input[type=file]").change(function () {
    var $inpt = $(this);
    var $som = $inpt.attr('data-schedule-object-module');
    console.log($som);
});
<<p>看到strong>小提琴