我为我的应用程序使用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 %}
但价值没有计算出来.. 有人有想法,可以帮助我吗?
答案 0 :(得分:0)
该代码只运行一次。您应该在触发重新计算价格的输入字段中添加更改侦听器