olaa

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.10/css/bootstrap-select.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.10/js/bootstrap-select.min.js"></script>
                               <div class="modal-body"> 

                                            <div class="portlet light bordered" id="kmg_admin_details_flat_owner">
                                              <div class='kmg_admin_new_flat_owner_modal_loader modal-loader' style='display: none;'></div>

                                              <div class="alert_custom display-hide">
                                                <span id="km_flat_owner_table_error"></span>
                                              </div>

                                                  <table class="table table-hover table-light kmg_admin_flat_owner_table" style='display: none;'>
                                                      <thead>
                                                          <tr>
                                                              <th> Nome</th>
                                                              <th> Cognome</th>
                                                              <th> Tipologia</th>
                                                              <th> Quota</th>
                                                 
                                                          </tr>
                                                      </thead>
                            ...

JavaScript

var Groups = function() {

      var kmg_admin_join_flat_owner = function() {

        // Store table id into a variable
        var table = $('#kmg_admin_flats_list');
        var form = $('#kmg_admin_new_flat_owner_modal_form');
        var error = $('.alert-danger', form);
        var success = $('.alert-success', form);
        var warning = $('.alert-warning', form);

        // If user close modal then it shouldn't show previous messages when modal opened again
        $('#kmg_admin_new_flat_owner_modal').on('hidden.bs.modal', function() {

          $('.alert_custom').removeClass('alert-danger');
          $('.alert_custom').removeClass('alert-success');
          $('.alert_custom').removeClass('alert-warning');
          $('.has-error').removeClass('has-error');
          // Remove jquery form validation from previous modal
          form.validate().resetForm();

        });

        // Handle click on button add new owner
        table.on('click', '.kmg_admin_add_flat_owner', function(e) {
        
        e.preventDefault();

          // Hide cloned fields if they were in the previous modal
          $('.removeFieldGroup1').hide();

          // Show add new owner modal
          $("#kmg_admin_new_flat_owner_modal").modal("show");
          // Get building unit ID associated to the button
          var km_flat_id = this.id;
          // Attach building unit ID to a hidden field inside the modal otherwise it will edit the previous as well
          $("#kmg_admin_flat_id").val(km_flat_id);

          // controlla validazione su dropdown per selezionare tipologia proprietario
          form.on("change", "[name^='kmg_admin_new_flat_owner_type_modal']", function() {
            form.validate().element($(this));
          });

          // controlla validazione su dropdown per selezionare proprietario
          form.on("change", "[name^='kmg_admin_new_flat_owner_modal']", function() {
            form.validate().element($(this));
          });

         ...