Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

$('.class').click() doesn't work

I've made a jQuery function which execute when a button which contains the class button-trash is clicked. The problem is that there is no reaction when I click on the button but the alert in the $(document).ready(function() works.

HTML

<div id="div_flotte">
<div class="div_avion" style="display:none;">
    <div class="panel panel-default">
          <div class="panel-heading">
          <div class="form-inline">
          <div class="input-group" style="width:200px">
              <span class="input-group-addon" id="basic-addon1">F-BEN</span>
              <input type="text" name="avions[][immat]" class="form-control" placeholder="Ex : 49" >
          </div>
          <div class="input-group" style="float:right;">
              <button class="btn btn-danger button-trash" type="button" name="button"><i class="fa fa-trash"></i></button>
          </div>
          </div>
          </div>
      <div class="panel-body">
      <div class="form-group">
        <div class="input-group">
              <span class="input-group-addon" id="basic-addon1">Marque</span>
              <input type="text" name="avions[][marque]" class="form-control" placeholder="Ex : Airbus" >
          </div>
         </div>
         <div class="form-group">
          <div class="input-group">
             <span class="input-group-addon" id="basic-addon1">Modèle</span>
             <input type="text" name="avions[][modele]" class="form-control" placeholder="Ex : 737" >
          </div>
         </div>
         <div class="form-group">
        <div class="input-group">
              <span class="input-group-addon" id="basic-addon1">IATA</span>
              <input type="text" name="avions[][iata]" class="form-control" placeholder="Ex : 738" >
          </div>
         </div>
         <div class="form-group">
        <div class="input-group">
              <span class="input-group-addon" id="basic-addon1">Type de vol</span>
              <select name="avions[][type]" class="form-control-inline">
                <?php
                  foreach ($types_vol_avion as $cle => $value) {
                        echo '<option value="'.$cle.'">'.$value.'</option>';
                    }
                  ?>
            </select>
          </div>
         </div>
         <div class="form-group">
        <div class="input-group">
              <span class="input-group-addon" id="basic-addon1">Transport</span>
              <select name="avions[][activite]" class="form-control-inline">
                <?php
                  foreach ($Activite_avion as $cle => $value) {
                        echo '<option value="'.$cle.'">'.$value.'</option>';
                    }
                  ?>
            </select>
          </div>
         </div>
      </div>
    </div>
</div>

JS

$(document).ready(function(){
        $('.button-trash').click(function(){
            alert("test");
        });
        alert("test");
});

EDIT : The div .div_avionis created dynamicly by this function :

function AddAvion()
{
$( ".div_avion" ).eq(0).clone().attr({id:'div_avion'+($(".div_avion").length+1), style:'display:visible;'}).css('display', 'visible').appendTo( "#div_flotte" );
}
like image 222
Louis D. Avatar asked Sep 01 '25 01:09

Louis D.


1 Answers

All right. Since you are creating a dynamic element, you can add your event like this:

$(document).on('click', '.button-trash', function() {
    alert('hello');
});

Hope this helps.

like image 195
Tahir Ahmed Avatar answered Sep 02 '25 16:09

Tahir Ahmed