.on('change','。class_)选择错误的项目(仅限第一个)

时间:2016-06-30 09:34:50

标签: javascript jquery

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

<!--- 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">

现在点击它会上传一张图片并为​​数据库输入几个条目

JS代码

$(document).on('change', '.uploadImage', function () {
    var $inpt = $(this);
    var $som = $inpt.attr('data-schedule-object-module');
    ....
    console.log($som);
    ....
});

现在,当我点击输入1时,一切都很好,但是当我选择输入2(或任何其他后续内容)时,console.log($som)总是从FIRST给我11111属性。我的JS在哪里错了?

旁注

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

1 个答案:

答案 0 :(得分:1)

$("input[type=file]").change(function () {
    var $inpt = $(this);
    var $som = $inpt.attr('data-schedule-object-module');
    console.log($som);
});

参见 Fiddle