在奏鸣曲Admin Bundle

时间:2017-08-07 15:14:04

标签: javascript jquery html symfony sonata-admin

我为我的应用程序使用symfony + sonataAdminBundle 我有一个实体“Produit”,带有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 %}

但价值没有计算出来.. 有人有想法,可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

该代码只运行一次。您应该在触发重新计算价格的输入字段中添加更改侦听器