更改表单字段django上的事件

时间:2016-01-04 19:47:50

标签: django

我在模板sales.html上得到了这个名为django的表单字段:

<div class="center-panel">
    <form method="post" action="{% url 'cost_control_app:request_update' form_sale.instance.request %}">
        {% csrf_token %}
        <div class="row">
                {%include "partials/field.html" with field=form_sale.item %}
                {%include "partials/field.html" with field=form_sale.usd_value %}
                {%include "partials/field.html" with field=form_sale.exchange_rate %}
                {%include "partials/field.html" with field=form_sale.euros_value %}
                {%include "partials/field.html" with field=form_sale.date %}
        </div>
    </form>
</div>

我需要当我更改usd值字段时,欧元字段根据汇率字段值更新自身,反之亦然....是否有&#34; onchange&#34;要调用的事件还是什么?

感谢您的帮助!!

2 个答案:

答案 0 :(得分:1)

您需要做的是使用JavaScript来挂钩该字段的change事件。假设你正在使用普通的字段名称和ID约定,这样的东西就行了(假设你正在使用jQuery):

$(document).ready(
  function() {
    $('#id_usd_value').on('change',
      function(e) {
        $('#id_euros_value').val(
          Math.round(
            parseFloat($(this).val()) * parseFloat($('#id_exchange_rate').val()) * 100
          ) / 100
        );
      }
    );

    $('#id_euros_value').on('change',
      function(e) {
        $('#id_usd_value').val(
          Math.round(
            parseFloat($(this).val()) / parseFloat($('#id_exchange_rate').val()) * 100
          ) / 100
        );
      }
    );
  }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <input id="id_usd_value">
  <input id="id_exchange_rate" type="hidden" value="0.92">
  <input id="id_euros_value">
</form>

这是一个非常粗略的例子,使用原始HTML,并对您的汇率包含的内容做出一些假设。

答案 1 :(得分:0)

解决了它,升级到Jquery 2.1.4并且像魅力一样工作,感谢所有人。