Динамически удаляйте и добавляйте поля ввода с помощью jquery

#javascript #jquery #ajax #laravel

Вопрос:

Я пытаюсь динамически добавлять поля ввода с помощью jquery.

Итак, у меня есть следующий код

Мой HTML-код :

  <div class="col-12 col-md-12 col-xl-8 col-left">

                                <div class="card mb-4  ">

                       
                                   <div class="card-body  ">

                                        <button type="button" class="btn btn-outline-primary mb-1 add_new_frm_field_btn">Ajouter un nouveau casting</button> 
                                        
                                          </br>
                                          </br>
                     
                                       <div class="row">
                                            <div class="col-12">
                                                <div class="card mb-4 form_field_outer  ">
                                                     <div class="card-body form_field_outer_row ">
        
                                                            <div class="form-row">
                                                                  <div class="form-group col-md-4">
                                                                    <label for="inputState">Casting</label>
                                                                    <select id="id_casting" class="form-control" name="id_casting">
                                                                        <option selected>Choose...</option>
                                                                        <option>...</option>
                                                                    </select>
                                                                </div>
                                                                 <div class="form-group col-md-4">
                                                                    <label for="inputState">Type de contrat</label>
                                                                    <select id="id_modele_contrat" class="form-control" name="id_modele_contrat">
                                                                        <option selected>Choose...</option>
                                                                        <option>...</option>
                                                                    </select>
                                                                </div>
                                                                <div class="card-body ">
                                                                    <button type="button" class="btn btn-outline-warning mb-1 remove_node_btn_frm_field">Delete</button>
                                                                </div>
                                                              </div> 
                                                      </div>

                                                   </div>
                                                    
                                            
                                                </div>

                                         </div>
                               
                                    </div>

                                </div>
                        </div>
 

Я использую следующий сценарий для динамического добавления и удаления полей ввода

                                 <script type="text/javascript">

                                            $(document).ready(function(){

                                            $("body").on("click",".add_new_frm_field_btn", function (){ 

                                              console.log("clicked");

                                                var index = $(".form_field_outer").find(".form_field_outer_row").length   1;
                                                  $(".form_field_outer").append(
        `
                                                       <div class="col-12">
                                                                                           
                                                             <div class="card-body form_field_outer_row">
        
                                                               <div class="form-row">
                                                                  <div class="form-group col-md-4">
                                                                    <label for="inputState">Casting</label>
                                                                     <select name="id_casting"        id="id_casting" class="form-control">
                                                                        <option selected>Choose...</option>
                                                                        <option>...</option>
                                                                    </select>
                                                                </div>
                                                                 <div class="form-group col-md-4">
                                                                    <label for="inputState">Type de contrat</label>
                                                                    <select id="id_modele_contrat" class="form-control" name="id_modele_contrat">
                                                                        <option selected>Choose...</option>
                                                                        <option>...</option>
                                                                    </select>
                                                                </div>
                                                                 <!--  <div class="card mb-4"> -->
                                                                <div class="card-body ">
                                                               
                                                                    <button type="button" class="btn btn-outline-warning mb-1">Annuler</button>
                                                                   <!--  <button class="btn_round remove_node_btn_frm_field" title="Copy or clone this row">
                                                                      <i class="fas fa-copy"></i>
                                                                    </button>

                                                                    <button class="btn_round remove_node_btn_frm_field" disabled>
                                                                      <i class="fas fa-trash-alt"></i>
                                                                    </button> -->
                                                                 </div>
                                                          <!--    </div> -->
                                       
                                                              </div>
            
                                                              
         
                                                      </div>


                                               
                                            
                                                </div>
        `);

      $(".form_field_outer").find(".remove_node_btn_frm_field:not(:first)").prop("disabled", false);
      $(".form_field_outer").find(".remove_node_btn_frm_field").first().prop("disabled", true);

});


});


$(document).ready(function(){
    //===== delete the form fieed row
    $("body").on("click", ".remove_node_btn_frm_field", function () {
        console.log("click");
      $(this).closest(".form_field_outer_row").remove();
      console.log("success");
    });
  });

</script>
 

Проблема в том,что когда я нажимаю на delete button нее, она работает только для первой строки, она удаляет первую строку, но не работает для других строк .

Что не так с моим сценарием ?

Если у вас есть какие-либо идеи, помогите мне

Заранее спасибо

Комментарии:

1. У вас есть кнопка, закомментированная в коде добавления, и там есть другая кнопка.