Ich habe mehrere Datei-Upload/Kamera-Eingänge auf meiner Website, sie alle tun das gleiche, aber senden verschiedene Attribute mit ihnen:.on ('change', '.class') wählt das falsche Element (nur das erste)
<!--- 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">
nun auf klicken, um es ein Bild hochlädt und macht mehrere Einträge in die DB
JS-Code
$(document).on('change', '.uploadImage', function() {
var $inpt = $(this);
var $som = $inpt.attr('data-schedule-object-module');
....
console.log($som);
....
});
Nun, wenn ich Eingang 1 klicken, wird alles ist in Ordnung, aber wenn ich Eingang 2 (oder eine andere folgende) wähle, gibt console.log($som)
immer mir 11111
das Attribut von der ersten. Wo liege ich falsch in meinem JS?
Side Hinweis
Ein anderer Ansatz wäre ONE Fileupload haben und auslösen, dass auf einem Selektor auf Klick, der alle benötigten Attribute hat, aber dass einige Umkodierung bedeuten würde, denke ich so, wie ich es haben derzeit muss irgendwie möglich sein?
Dieser Code funktioniert gut: https://jsfiddle.net/jn1bhc30/ –
Werke für mich in Chrome ... https://jsfiddle.net/Arg0n/vwda09L6/ – Arg0n
hast du versucht $ (document) .on ('ändern', '.uploadImage', function (event) {console.log (event)}? –