Rails Автоматический расчет в таблице после пропущенного фокуса - PullRequest
0 голосов
/ 25 февраля 2020

Я работаю над проектом в течение 5

Мне нужно, когда «monto de ingreso» потерял фокус, автоматически вычислять значение этого текстового поля с оставленным столбцом «%» и показывать результат в столбце итоговых значений

это мой проект

My Project

i tried this jquery/coffescript

$(document).ready ->
 
    $('.montobase').keyup ->
		

		 $tblrows = $('.listacom')
		 $tblrows.each (index) ->
			  $tblrow = $(this)
			  
			  subTotal = $tblrow.find("[name=porcomision").val();

			 if !isNaN(subTotal)
			  
			  grandTotal = 0
			  $('.porcomision').each ->
			    stval = parseFloat($(this).val())
			    grandTotal += if isNaN(stval) then 0 else stval
			    return
			  $('.totalcomision').val grandTotal.toFixed(2)


		  return
 return


this is my partial _totalform.html.erb
<h4 id="totalp" class="page-title totale">0.00</h4>
<div class="table-responsive">
  <table class="table table-borderless table-hover table-centered m-0 listacom ">



    <thead class="thead-light text-left">
    <tr>
      <th scope="col">Comision</th>
      <th scope="col">%</th>
      <th scope="col">Total</th>
   
    </tr>
    </thead>

    <tbody>

    <tr class="text-left "><% @bankcommission.each do |ingresos| %>
        
          <td><%=ingresos.descrip %></td>
          
          <td class="porcomision"><%= number_with_precision( ingresos.pvalue, precision: 2, separator: ',', delimiter: '.') %></td>

            <td class="totalcomision"><%= number_with_precision( ingresos.totalxcom, precision: 2, separator: ',', delimiter: '.' ) %></td>
        </tr>
    <% end %>
    </tbody>
  </table>
</div>


partial _form.html.erb

<%=form_for(@mov_ingreso, remote: true, :html => {:class => 'form-horizontal formulario '}) do |ingreso|   %>
       <% @mov_ingreso.errors.full_messages.each do |message| %>
        <div class="be-red white top-space">
          * <%= message %>
        </div>
    <% end %>

    <%= ingreso.fields_for :mov_principal do |f| %>
    <div class="form-group row">
      <label class="col-sm-2 col-form-label">  <%= f.label :referencia, "Referencia" %> </label>
      <div class="col-sm-10">
        <%= f.text_field :referencia, class: 'form-control', placeholder: "N° DE REFERENCIA" %>
      </div>
    </div>
    <div class="form-group row" >
      <label class="col-sm-2 col-form-label">  <%= f.label :id_tipo, "Tipo" %> </label>
      <div class="col-sm-10">

        <%= f.collection_select(:id_tipo, TipoConcepto.where(:forma => "1"), :id, :tipo,{:prompt => "SELECCIONE EL TIPO DE INGRESO"}, {class: 'custom-select'}) %>

      </div>
    </div>

        <div class="form-group row" >
          <label class="col-sm-2 col-form-label">  <%= f.label :nivele_id, "Niveles" %> </label>
          <div class="col-sm-10">


            <%= f.collection_select(:nivele_id, Nivele.where(:tipo_movimiento_id => "1"), :id, :descripcion,{:prompt =>"SELECCIONE EL NIVEL"} ,{class: 'custom-select'} ) %>

          </div>
        </div>
    <div class="form-group row" >
      <label class="col-sm-2 col-form-label">  <%= f.label :id_banco, "Banco" %> </label>
      <div class="col-sm-10">
        <%= f.collection_select(:banco_id, Banco.all, :id, :nombre,{:prompt =>"SELECCIONE EL BANCO"} ,{class: 'custom-select'} ) %>

      </div>
    </div>

     <div class="form-group row"  >
       <label class="col-sm-2 col-form-label">  <%= f.label :date_set, "Fecha" %> </label>
       <div class="col-sm-10">
         <%= f.text_field :date_set, class: 'form-control',   data: { provide: "datepicker",
                                                'date-format': 'dd-mm-yyyy',
                                                'date-autoclose': 'true',
                                                'date-today-btn': 'linked',
                                                'date-today-highlight': 'true'}, value: Time.now.strftime('%d-%m-%Y') %>


       </div>
     </div>
<% end %>
    <div class="form-group row" >
          <label class="col-sm-2 col-form-label"> <%= ingreso.label :debe, "Monto" %> </label>
          <div class="col-sm-10">
            <%= ingreso.text_field :debe, class: 'form-control montobase' , :id => "debe", placeholder: "MONTO DE INGRESO" %>
          </div>


    </div>



    <div class = "field">
      <%= ingreso.submit "Guardar", class:"guardo btn btn-primary" %>
    </div>

    
<%end%>

Это не работает, помогите, пожалуйста

Я не очень хорошо знаю jQuery, я учусь

Спасибо, извините, мой плохой англ sh!

...