Jquery Image on Hover make input type file

You should add a input file in your code but make it invisible then you can get file browse with jQuery.

HTML:

<input id='uploadfile' type ='file'>

JS:

$('.profile-img-container img').click(function(){
    $('#uploadfile').click();
});

Working Fiddle

Second way for future questions:

<input id='uploadfile' type ='file'>

input#uploadfile {
    width: 200px;
    height: 200px;
    background: url('http://s3.amazonaws.com/37assets/svn/765-default-avatar.png');
    border-radius: 50%;
    display: block;
    padding-top: 23.5%;
    box-sizing: border-box;
    overflow: hidden;
    background-size: 100%;
}

Working Fiddle


You need to add an input[type="file"] to your code and make it invisible. Also, so it takes all the img place, set it position to absolute and all the other styles so it take all the place.

Like this:

.profile-img-container {
  position: absolute;
  /*width:50%;*/
  /*border-radius:50%;*/
  overflow:hidden;
}

.profile-img-container img:hover {
  opacity: 0.5;
  z-index: 501;
}

.profile-img-container img:hover + i {
  display: block;
  z-index: 500;
}

.profile-img-container .icon-wrapper {
  position: absolute;
  bottom:0;
  left:0;
  background:rgba(0,0,0,0.7);
  color:#fff;
  text-align:center;
  width:100%;
  padding:5px;
}

/*.profile-img-container img {
position:absolute;
}*/

/*.profile-img-container {
  position:relative;
}*/

input[type="file"] {
  opacity:0;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>

<div class="profile-img-container img-circle">
  <input type="file" />
  <img src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png" class="img-thumbnail img-circle img-responsive" />
  <div class="icon-wrapper">
    <i class="fa fa-upload fa-5x"></i>
  </div>
</div>

Tags:

Html

Css