2017-08-07 110 views
0

我使用symfony + sonataAdminBundle爲我的應用程序和 我有一個實體「產品」與2輸入「PrixAchat」和「PrixVenteTTC」和另一個字段稱爲「marge」,我喜歡計算他的在與其它輸入的公式的值,這就是爲什麼我對這個字段創建一個禁用輸入:自動計算奏鳴曲的字段值管理包

ProduitAdmin

protected function configureFormFields(FormMapper $formMapper) 
    { 
    $formMapper 
     ->add('prixAchat') 
     ->add('prixVenteTTC') 

     ->add('marge',null,array(
     'label' => 'Marge', 
     'read_only' => true, 
     'disabled' => true, 
     'attr' =>array(
     'template' => 'CRUD/marge.html.twig', 
     ))) 
    } 

模板:Marge.html.twig

{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %} 



{% block javascripts %} 
{{ parent() }} 
<script type="text/javascript"> 

    $(function(){ 


    var prixVente = document.getElementById('form [id$="_prixVenteTTC"]').value; 
    var prixAchat = document.getElementById('form [id$="_prixAchat"]').value; 

    document.getElementById('form [id$="_marge"]').value = ((prixVente/prixAchat)*100)-100; 

    }); 



</script> 
{% endblock %} 

但值不計算.. Somewone有一個想法,可以幫助我嗎?

回答

0

該代碼只運行一次。您應該添加一個更改偵聽器到觸發器重新計算價格的輸入字段

+0

我該怎麼做? –

+0

https://api.jquery.com/change/如果您使用jquery。或https://stackoverflow.com/questions/24172963/jquery-change-method-in-vanilla-javascript使用只是普通的Js – Carlos

相關問題