2016-02-10 1 views
0

salut je veux multiplier les valeurs de ma boîte pour une valeur décimale et l'afficher dans une autre zone de texte avec onblur.utiliser onblur pour multiplicar <g:field> grails

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#Agregar") { 
     var pred = $("#predis").val(); 

     var result = parseFloat(pred) * 0.15; 


     $("#pagoTotal").val(result); 
    }); 
}); 

</script> 

Le problème est que la fonction ne fait rien

<g:field name="predis" id="predis" type="number" onblur="Agregar()" value="${predisInstance.predis}" required=""/> 
<g:field name="pagoTotal" id="pagoTotal" type="number" value="${pagoTotalInstance.pagoTotal}" required=""/> 

Répondre

1

En fait, vous ne pas avoir un problème de Grails. C'est un problème de javascript. Obtenez les entrées par nom.

(function($){ 
 
\t $(document).ready(function(){ 
 
    \t $('input[name="predis"]').on('blur', function(){ 
 
    \t agregar($(this)); 
 
    }); 
 
    }); 
 
    
 
    function agregar(predis){ 
 
    \t var predis = $(predis);  
 
    var pred = predis.val(); 
 
    var result = parseFloat(pred) * 0.15; 
 
    $('input[name="pagoTotal"]').val(result); 
 
    } 
 
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<!--The <g:field ...> tags would parse to something similar to the following hmtl --> 
 
<input name="predis" id="predis" type="number" value="0" required=""/> 
 
<input name="pagoTotal" id="pagoTotal" type="number" value="0" required=""/>