2017-07-07 2 views
0

Was ich tun muss, ist nur den Wert eines "p" -Tag jedes Mal erhöhen, wenn die Schaltfläche Hinzufügen gedrückt wird oder verringern Sie den Wert der gleichen "p" -Marke die Schaltfläche Löschen ist gedrückt.Verwalten Sie klicken Ereignis auf Schaltfläche remove_nested_fields mit geschachtelten Formen

Nun, verschachtelte Formulare verwenden eine teilweise eine neue Zeile hinzufügen, um eine verschachtelte Form innerhalb de Hauptformularansicht zu verwalten hier ist mein Teil-Code:

<tr class="fields"> 
<td> 
    <%= f.text_field :nombre, class: 'form-control' %> 
</td> 
<td> 
    <% 
     concat f.select :idtipodocumento, CrTipoDocumento.all.collect 
     {|p| [ p.nombre, p.id ] }, {prompt: 'Seleccione el tipo de 
     documento'}, :class=>'form-control' 
    %> 
</td> 
<td> 
    <%= f.text_field :documento, class: 'form-control' %> 
</td> 
<td> 
    <%= f.link_to_remove raw('<i class="fa fa-minus-circle" aria- 
    hidden="true"></i>'), :class =>'btn btn-danger' %> 
    </td> 
</tr> 

In meiner Hauptansicht macht y diese teilweise mit diesem Code :

  <tbody> 
      <fieldset id="acreditados"> 
       <%= f.fields_for :cr_acreditados, :wrapper => false %> 
      </fieldset> 
     </tbody> 

und ich habe auch auf die Schaltfläche hinzufügen neue Zeilen hinzufügen, die funktioniert gut:

 <div id="addBtn"> 
     <% if @counter >= 1 %> 
      <p><%= f.link_to_add raw('<i class="fa fa-plus-circle" aria- 
     hidden="true"></i>'), :cr_acreditados, id: 'btna', :class => 
     'btn btn-primary lta', "data-target" => "#DAC" %></p> 
     <% else %> 
      <p class="text-center"><h3>No dispone de mas 
      acreditaciones</h3></p> 
     <% end %> 
     </div> 

Und ich benutze ein Javascript, um einen "P-Tag" Text jedes Mal zu aktualisieren, wenn die Schaltfläche "Hinzufügen" gedrückt oder die Schaltfläche "Löschen" gedrückt wird, das Javascript für die Schaltfläche "Hinzufügen" funktioniert nur gut! hier ist der Code:

$(document).ready(function() { 
    $('.add_nested_fields').click(function(adLine){ 
     var cnt = document.getElementById('acd').innerHTML; 
     if(cnt <= 1){ 
      if(cnt == 0) 
      { 
       alert("You cant add more rows") 
       adLine.preventDefault(); 
       adLine.stopPropagation(); 
      } 
      else 
      { 
       var res = cnt - 1; 
       $('#acd').html(res); 
      } 
     } 
     else{ 
      var res = cnt - 1; 
      $('#acd').html(res); 
     } 
    }); 
}); 

Und ich möchte, dass die Löschtaste die Inverse zu tun, was zu 1 auf die „p-Tag“ Text sein wird, was ist, kann nicht Javascript-Code Klick-Ereignis auf dem neuen erkennen meine eigentliche js Code für die Schaltfläche löschen hinzugefügt Reihen, aber er erkennt die geladenen Reihen der Ansicht lädt den Moment mit Daten aus der Datenbank, hier ist:

$(document).ready(function() { 
$('.remove_nested_fields').click(function(remLine){ 
    var cnt = document.getElementById('acd').innerHTML; 
    cnt = parseInt(cnt,10) 
    var res = cnt + 1; 
    $('#acd').html(res); 
}); 
}); 

Antwort

Verwandte Themen