it-swarm.com.de

Wie gehe ich mit einem Änderungsereignis bei Eingabetyp = Datei in jQuery um?

Der Code lautet:

<input ID="fileUpload1" runat="server" type="file"

Folgendes funktioniert gut:

<input onchange="javascript:alert('hola');" ID="fileUpload1"  runat="server" type="file"

Ich möchte dieses Ergebnis mit jQuery erhalten, aber das funktioniert nicht:

$('#fileUpload1').change(function (e) {
    alert("hola");
});

Ich vermisse etwas? (Bearbeiten: Ja, ich habe die * .js-Datei übersehen.)

45
anmarti

Demo: http://jsfiddle.net/NbGBj/

$("document").ready(function(){

    $("#upload").change(function() {
        alert('changed!');
    });
});
114
Shabnam K

Oder könnte sein:

$('input[type=file]').change(function () {
    alert("hola");
});

Um genau zu sein: $('input[type=file]#fileUpload1').change(...

10
Alex Ball

Es sollte gut funktionieren. Schließen Sie den Code in einen $(document).ready() -Aufruf ein? Wenn nicht, benutze das oder benutze live d.h.

$('#fileupload1').live('change', function(){ 
    alert("hola");
});

Hier ist ein jsFiddle für die Arbeit mit jQuery 1.4.4

4
Chris

Das jsfiddle funktioniert gut für mich.

$(document).delegate(':file', 'change', function() {
    console.log(this);
});

Anmerkung: .delegate () ist die schnellste Ereignisbindungsmethode für jQuery <1.7: Ereignisbindungsmethoden

4
Simon

Versuchen Sie dies zu benutzen:

HTML:

<input ID="fileUpload1" runat="server" type="file">

JavaScript:

$("#fileUpload1").on('change',function() {
    alert('Works!!');
});

Für den Fall, dass Sie nicht mehr weiterkommen möchten

2
 $('#fileupload').bind('change', function (e) { //dynamic property binding
alert('hello');// message you want to display
});

Sie können dieses auch benutzen

2
Bhushan Pawar