2015-05-06 8 views
5

Ich möchte onchange-Funktion bei Auswahl der Datei aufrufen oder wenn Datei geändert wird, aber meine onchange-Funktion wird nicht aufgerufen, weil ich Display eingestellt habe: keine Datei-Kontrolle, weil ich indem sie auf das Bild klicken nenne, kann ich nicht verstehen, wie es rufen onChange Funktion:Jquery onchange-Funktion wird nicht auf versteckte Dateisteuerung aufgerufen

$(document).ready(function() { 
 
    $('#profile-image').on('click', function() { 
 
    $('#photo').click(); // opens up the file dialog for selection of image 
 
    }); 
 
}); 
 

 
$("#photo").change(function() { 
 
    alert($(this).val()) 
 
});
.hidden_img { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input class="hidden_img" type="file" name="imagefile" id="photo"/> 
 
<img src="images/btn.jpg" width="148" height="60" alt="btn" id="profile-image">

+0

Aber Ihr gleichen Code ** [hier] (http://jsfiddle.net/Guruprasad_Rao/Loc11fzh/) ** funktioniert !!! –

+1

Es funktioniert gut, Sie können sehen "[http://jsfiddle.net/prateeksarve/x9z8qgqk/][1]" – syms

+0

Ja, es funktioniert gut. – parveen

Antwort

1

Bitte überprüfen sie unter Lösung, es funktioniert gut;

$(document).ready(function() { 
 
    $('#profile-image').on('click', function() { 
 
    $('#photo').click(); // opens up the file dialog for selection of image 
 
    }); 
 
}); 
 

 
$("#photo").on('change',function() { 
 
    alert($(this).val()) 
 
});
#photo{ 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input class="hidden_img" type="file" name="imagefile" id="photo" /> 
 
<img src="http://placehold.it/148X60" width="148" height="60" alt="btn" id="profile-image">

+1

Zu sagen, was Sie schon arbeiten, sollte ein Kommentar sein, keine Antwort. Wenn das OP Probleme mit seinem Code hat, muss es anderswo ein Problem geben, was bedeutet, dass dies nicht hilft. –

+0

@RoryMcCrossan Dies ist wahrscheinlich meine schlechte, das Snippet, das ich in der Frage geschrieben habe, war nicht repräsentativ für das OP-Problem, also fügte diese Antwort die notwendigen CSS- und jQuery-Anforderungen hinzu, um zu zeigen, wie es funktionieren sollte – CodingIntrigue