自动计算奏鸣曲的字段值管理包
问题描述:
我使用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有一个想法,可以帮助我吗?
答
该代码只运行一次。您应该添加一个更改侦听器到触发器重新计算价格的输入字段
我该怎么做? –
https://api.jquery.com/change/如果您使用jquery。或https://stackoverflow.com/questions/24172963/jquery-change-method-in-vanilla-javascript使用只是普通的Js – Carlos